Split functions into separate files
Updated to relax requirements on libsbml