[med-svn] [beast-mcmc] 03/06: Imported Upstream version 1.8.2

Andreas Tille tille at debian.org
Fri Jan 29 15:22:04 UTC 2016


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

tille pushed a commit to branch master
in repository beast-mcmc.

commit 8fc8789d66b5343c9005e2d9d6f4f6d752c59f21
Author: Andreas Tille <tille at debian.org>
Date:   Fri Jan 29 15:45:28 2016 +0100

    Imported Upstream version 1.8.2
---
 .classpath                                         |    2 +-
 .gitignore                                         |    7 +
 .idea/libraries/lib.xml                            |   10 +
 .idea/libraries/lib1.xml                           |   23 +
 .idea/libraries/phylogeography.xml                 |    9 +
 .idea/libraries/quaqua.xml                         |    9 +
 .idea/libraries/tracer.xml                         |    9 +
 .idea/libraries/tracer1.xml                        |    9 +
 .project                                           |   17 +
 .travis.yml                                        |    6 +
 NOTIFY                                             |    2 +-
 README.md                                          |   34 +
 build.xml                                          |   25 +-
 build_pathogen.xml                                 |    8 +-
 build_tracer.xml                                   |    6 +-
 old_issue_list/all-issues.csv                      |  102 ++
 old_issue_list/open-issues.csv                     |   81 ++
 packaging_tools/mac/universalJavaApplicationStub   |  308 ++++++
 packaging_tools/windows/launch4j/.classpath        |   17 +
 packaging_tools/windows/launch4j/.gitignore        |    2 +
 packaging_tools/windows/launch4j/.project          |   17 +
 .../.settings/org.eclipse.core.resources.prefs     |    2 +
 .../.settings/org.eclipse.core.runtime.prefs       |    2 +
 .../launch4j/.settings/org.eclipse.jdt.core.prefs  |   81 ++
 packaging_tools/windows/launch4j/LICENSE.txt       |   30 +
 packaging_tools/windows/launch4j/build.xml         |   73 ++
 .../windows/launch4j/demo/ConsoleApp/.gitignore    |    1 +
 .../windows/launch4j/demo/ConsoleApp/build.xml     |   57 +
 .../launch4j/demo/ConsoleApp/l4j/ConsoleApp.ico    |  Bin 0 -> 766 bytes
 .../launch4j/demo/ConsoleApp/lib/readme.txt        |    8 +
 .../windows/launch4j/demo/ConsoleApp/readme.txt    |    1 +
 .../src/net/sf/launch4j/example/ConsoleApp.java    |   72 ++
 packaging_tools/windows/launch4j/demo/LICENSE.txt  |   30 +
 .../windows/launch4j/demo/SimpleApp/.gitignore     |    1 +
 .../windows/launch4j/demo/SimpleApp/build.xml      |   52 +
 .../launch4j/demo/SimpleApp/l4j/SimpleApp.ico      |  Bin 0 -> 766 bytes
 .../launch4j/demo/SimpleApp/l4j/SimpleApp.xml      |   18 +
 .../windows/launch4j/demo/SimpleApp/l4j/splash.bmp |  Bin 0 -> 4514 bytes
 .../windows/launch4j/demo/SimpleApp/lib/readme.txt |    8 +
 .../windows/launch4j/demo/SimpleApp/readme.txt     |    1 +
 .../src/net/sf/launch4j/example/SimpleApp.java     |  122 ++
 packaging_tools/windows/launch4j/demo/readme.txt   |    3 +
 packaging_tools/windows/launch4j/head/LICENSE.txt  |   26 +
 .../windows/launch4j/head_src/LICENSE.txt          |   26 +
 .../launch4j/head_src/consolehead/.gitignore       |    2 +
 .../launch4j/head_src/consolehead/Makefile.win     |   33 +
 .../launch4j/head_src/consolehead/consolehead.c    |   97 ++
 .../launch4j/head_src/consolehead/consolehead.dev  |  108 ++
 .../windows/launch4j/head_src/guihead/.gitignore   |    2 +
 .../windows/launch4j/head_src/guihead/Makefile.win |   33 +
 .../windows/launch4j/head_src/guihead/guihead.c    |  240 ++++
 .../windows/launch4j/head_src/guihead/guihead.dev  |  109 ++
 .../windows/launch4j/head_src/guihead/guihead.h    |   43 +
 packaging_tools/windows/launch4j/head_src/head.c   | 1167 ++++++++++++++++++++
 packaging_tools/windows/launch4j/head_src/head.h   |  136 +++
 .../windows/launch4j/head_src/resource.h           |   75 ++
 packaging_tools/windows/launch4j/launch4j          |    7 +
 packaging_tools/windows/launch4j/launch4j.jfpr     |  Bin 0 -> 125 bytes
 .../launch4j/lib/JGoodies.Forms.LICENSE.txt        |   31 +
 .../launch4j/lib/JGoodies.Looks.LICENSE.txt        |   31 +
 .../launch4j/lib/Nuvola.Icon.Theme.LICENSE.txt     |  504 +++++++++
 .../windows/launch4j/lib/XStream.LICENSE.txt       |   27 +
 .../windows/launch4j/lib/ant.LICENSE.txt           |  201 ++++
 .../windows/launch4j/lib/commons.LICENSE.txt       |   50 +
 .../windows/launch4j/lib/foxtrot.LICENSE.txt       |   25 +
 .../windows/launch4j/manifest/uac.exe.manifest     |   12 +
 packaging_tools/windows/launch4j/maven/.classpath  |   24 +
 packaging_tools/windows/launch4j/maven/.project    |   23 +
 .../maven/.settings/org.eclipse.m2e.core.prefs     |    4 +
 .../launch4j/maven/assembly/assemble-dist.xml      |   14 +
 .../launch4j/maven/assembly/assemble-linux.xml     |   51 +
 .../launch4j/maven/assembly/assemble-mac.xml       |   51 +
 .../launch4j/maven/assembly/assemble-solaris.xml   |   51 +
 .../launch4j/maven/assembly/assemble-win32.xml     |   52 +
 .../windows/launch4j/maven/assembly/src.xml        |   55 +
 .../windows/launch4j/maven/maven-readme.txt        |   10 +
 packaging_tools/windows/launch4j/maven/pom.xml     |  518 +++++++++
 packaging_tools/windows/launch4j/sign4j/README.txt |   18 +
 packaging_tools/windows/launch4j/sign4j/sign4j.c   |  259 +++++
 packaging_tools/windows/launch4j/src/LICENSE.txt   |   30 +
 .../windows/launch4j/src/images/asterix-o.gif      |  Bin 0 -> 51 bytes
 .../windows/launch4j/src/images/asterix.gif        |  Bin 0 -> 53 bytes
 .../windows/launch4j/src/images/build.png          |  Bin 0 -> 1607 bytes
 .../windows/launch4j/src/images/button_ok.png      |  Bin 0 -> 883 bytes
 .../windows/launch4j/src/images/cancel16.png       |  Bin 0 -> 1133 bytes
 .../windows/launch4j/src/images/down16.png         |  Bin 0 -> 912 bytes
 .../windows/launch4j/src/images/edit_add16.png     |  Bin 0 -> 1088 bytes
 .../windows/launch4j/src/images/info.png           |  Bin 0 -> 1397 bytes
 .../windows/launch4j/src/images/new.png            |  Bin 0 -> 1145 bytes
 .../windows/launch4j/src/images/new16.png          |  Bin 0 -> 805 bytes
 .../windows/launch4j/src/images/ok16.png           |  Bin 0 -> 883 bytes
 .../windows/launch4j/src/images/open.png           |  Bin 0 -> 1412 bytes
 .../windows/launch4j/src/images/open16.png         |  Bin 0 -> 513 bytes
 .../windows/launch4j/src/images/run.png            |  Bin 0 -> 1159 bytes
 .../windows/launch4j/src/images/save.png           |  Bin 0 -> 1182 bytes
 .../windows/launch4j/src/images/up16.png           |  Bin 0 -> 906 bytes
 .../windows/launch4j/src/launch4j.properties       |    2 +
 .../launch4j/src/net/sf/launch4j/Builder.java      |  214 ++++
 .../src/net/sf/launch4j/BuilderException.java      |   52 +
 .../src/net/sf/launch4j/ExecException.java         |   66 ++
 .../src/net/sf/launch4j/FileChooserFilter.java     |   76 ++
 .../net/sf/launch4j/KanjiEscapeOutputStream.java   |   86 ++
 .../windows/launch4j/src/net/sf/launch4j/Log.java  |  105 ++
 .../windows/launch4j/src/net/sf/launch4j/Main.java |   94 ++
 .../launch4j/src/net/sf/launch4j/Messages.java     |   78 ++
 .../launch4j/src/net/sf/launch4j/RcBuilder.java    |  408 +++++++
 .../windows/launch4j/src/net/sf/launch4j/Util.java |  220 ++++
 .../src/net/sf/launch4j/ant/AntClassPath.java      |   63 ++
 .../src/net/sf/launch4j/ant/AntConfig.java         |  131 +++
 .../launch4j/src/net/sf/launch4j/ant/AntJre.java   |   69 ++
 .../src/net/sf/launch4j/ant/Launch4jTask.java      |  162 +++
 .../launch4j/src/net/sf/launch4j/ant/Messages.java |   55 +
 .../src/net/sf/launch4j/ant/StringWrapper.java     |   69 ++
 .../src/net/sf/launch4j/ant/messages.properties    |   35 +
 .../src/net/sf/launch4j/ant/messages_es.properties |   35 +
 .../src/net/sf/launch4j/binding/Binding.java       |   62 ++
 .../net/sf/launch4j/binding/BindingException.java  |   52 +
 .../src/net/sf/launch4j/binding/Bindings.java      |  333 ++++++
 .../src/net/sf/launch4j/binding/IValidatable.java  |   44 +
 .../binding/InvariantViolationException.java       |   67 ++
 .../net/sf/launch4j/binding/JComboBoxBinding.java  |  119 ++
 .../src/net/sf/launch4j/binding/JListBinding.java  |  121 ++
 .../sf/launch4j/binding/JRadioButtonBinding.java   |  146 +++
 .../net/sf/launch4j/binding/JTextAreaBinding.java  |  128 +++
 .../sf/launch4j/binding/JTextComponentBinding.java |  108 ++
 .../sf/launch4j/binding/JToggleButtonBinding.java  |  108 ++
 .../src/net/sf/launch4j/binding/Messages.java      |   78 ++
 .../sf/launch4j/binding/OptComponentBinding.java   |  122 ++
 .../sf/launch4j/binding/OptJTextAreaBinding.java   |  146 +++
 .../src/net/sf/launch4j/binding/Validator.java     |  252 +++++
 .../net/sf/launch4j/binding/messages.properties    |   52 +
 .../net/sf/launch4j/binding/messages_es.properties |   51 +
 .../src/net/sf/launch4j/config/ClassPath.java      |   92 ++
 .../src/net/sf/launch4j/config/Config.java         |  395 +++++++
 .../net/sf/launch4j/config/ConfigPersister.java    |  276 +++++
 .../launch4j/config/ConfigPersisterException.java  |   51 +
 .../launch4j/src/net/sf/launch4j/config/Jre.java   |  292 +++++
 .../src/net/sf/launch4j/config/LdDefaults.java     |   62 ++
 .../src/net/sf/launch4j/config/Messages.java       |   78 ++
 .../launch4j/src/net/sf/launch4j/config/Msg.java   |  111 ++
 .../src/net/sf/launch4j/config/SingleInstance.java |   74 ++
 .../src/net/sf/launch4j/config/Splash.java         |  103 ++
 .../src/net/sf/launch4j/config/VersionInfo.java    |  168 +++
 .../src/net/sf/launch4j/config/messages.properties |   96 ++
 .../net/sf/launch4j/config/messages_es.properties  |   75 ++
 .../src/net/sf/launch4j/form/BasicForm.java        |  284 +++++
 .../src/net/sf/launch4j/form/BasicForm.jfrm        |  Bin 0 -> 18500 bytes
 .../src/net/sf/launch4j/form/ClassPathForm.java    |  193 ++++
 .../src/net/sf/launch4j/form/ClassPathForm.jfrm    |  Bin 0 -> 10059 bytes
 .../src/net/sf/launch4j/form/ConfigForm.java       |  132 +++
 .../src/net/sf/launch4j/form/ConfigForm.jfrm       |  Bin 0 -> 4477 bytes
 .../net/sf/launch4j/form/EnvironmentVarsForm.java  |  127 +++
 .../net/sf/launch4j/form/EnvironmentVarsForm.jfrm  |  Bin 0 -> 3813 bytes
 .../src/net/sf/launch4j/form/HeaderForm.java       |  171 +++
 .../src/net/sf/launch4j/form/HeaderForm.jfrm       |  Bin 0 -> 7298 bytes
 .../launch4j/src/net/sf/launch4j/form/JreForm.java |  307 +++++
 .../launch4j/src/net/sf/launch4j/form/JreForm.jfrm |  Bin 0 -> 20189 bytes
 .../src/net/sf/launch4j/form/Messages.java         |   55 +
 .../src/net/sf/launch4j/form/MessagesForm.java     |  183 +++
 .../src/net/sf/launch4j/form/MessagesForm.jfrm     |  Bin 0 -> 9184 bytes
 .../net/sf/launch4j/form/SingleInstanceForm.java   |  141 +++
 .../net/sf/launch4j/form/SingleInstanceForm.jfrm   |  Bin 0 -> 5246 bytes
 .../src/net/sf/launch4j/form/SplashForm.java       |  166 +++
 .../src/net/sf/launch4j/form/SplashForm.jfrm       |  Bin 0 -> 7347 bytes
 .../src/net/sf/launch4j/form/VersionInfoForm.java  |  232 ++++
 .../src/net/sf/launch4j/form/VersionInfoForm.jfrm  |  Bin 0 -> 13722 bytes
 .../src/net/sf/launch4j/form/messages.properties   |  152 +++
 .../net/sf/launch4j/form/messages_es.properties    |  117 ++
 .../launch4j/formimpl/AbstractAcceptListener.java  |   75 ++
 .../net/sf/launch4j/formimpl/BasicFormImpl.java    |  101 ++
 .../sf/launch4j/formimpl/BrowseActionListener.java |   79 ++
 .../sf/launch4j/formimpl/ClassPathFormImpl.java    |  222 ++++
 .../net/sf/launch4j/formimpl/ConfigFormImpl.java   |  100 ++
 .../launch4j/formimpl/EnvironmentVarsFormImpl.java |   50 +
 .../src/net/sf/launch4j/formimpl/FileChooser.java  |   66 ++
 .../src/net/sf/launch4j/formimpl/GlassPane.java    |   67 ++
 .../net/sf/launch4j/formimpl/HeaderFormImpl.java   |  102 ++
 .../src/net/sf/launch4j/formimpl/JreFormImpl.java  |  175 +++
 .../src/net/sf/launch4j/formimpl/MainFrame.java    |  360 ++++++
 .../src/net/sf/launch4j/formimpl/Messages.java     |   55 +
 .../net/sf/launch4j/formimpl/MessagesFormImpl.java |   58 +
 .../launch4j/formimpl/SingleInstanceFormImpl.java  |   54 +
 .../net/sf/launch4j/formimpl/SplashFormImpl.java   |   61 +
 .../sf/launch4j/formimpl/VersionInfoFormImpl.java  |   63 ++
 .../net/sf/launch4j/formimpl/messages.properties   |   80 ++
 .../sf/launch4j/formimpl/messages_es.properties    |   56 +
 .../src/net/sf/launch4j/messages.properties        |   45 +
 .../src/net/sf/launch4j/messages_es.properties     |   44 +
 .../windows/launch4j/w32api/MinGW.LICENSE.txt      |   25 +
 .../windows/launch4j/w32api/libadvapi32.a          |  Bin 0 -> 410156 bytes
 packaging_tools/windows/launch4j/w32api/libgcc.a   |  Bin 0 -> 53694 bytes
 .../windows/launch4j/w32api/libkernel32.a          |  Bin 0 -> 655198 bytes
 .../windows/launch4j/w32api/libmingw32.a           |  Bin 0 -> 6802 bytes
 .../windows/launch4j/w32api/libmsvcrt.a            |  Bin 0 -> 503692 bytes
 .../windows/launch4j/w32api/libshell32.a           |  Bin 0 -> 141600 bytes
 .../windows/launch4j/w32api/libuser32.a            |  Bin 0 -> 472426 bytes
 packaging_tools/windows/launch4j/web/bullet.gif    |  Bin 0 -> 151 bytes
 .../windows/launch4j/web/changelog.html            |  434 ++++++++
 packaging_tools/windows/launch4j/web/docs.html     |  668 +++++++++++
 packaging_tools/windows/launch4j/web/index.html    |  122 ++
 .../windows/launch4j/web/launch4j-use.gif          |  Bin 0 -> 12724 bytes
 packaging_tools/windows/launch4j/web/launch4j.gif  |  Bin 0 -> 3460 bytes
 packaging_tools/windows/launch4j/web/links.html    |   60 +
 packaging_tools/windows/launch4j/web/style.css     |  166 +++
 .../branchmodel/BranchAssignmentModel.java         |  172 +++
 .../beagle/evomodel/branchmodel/BranchModel.java   |    2 +-
 .../branchmodel/BranchSpecificBranchModel.java     |   48 +-
 .../evomodel/branchmodel/EpochBranchModel.java     |    2 +-
 .../branchmodel/ExternalInternalBranchModel.java   |    2 +-
 .../branchmodel/HomogeneousBranchModel.java        |    2 +-
 .../branchmodel/RandomBranchAssignmentModel.java   |  156 +++
 .../evomodel/branchmodel/RandomBranchModel.java    |   29 +-
 .../lineagespecific/BeagleBranchLikelihood.java    |  539 +++++++++
 .../BeagleBranchLikelihoodParser.java              |   96 ++
 .../lineagespecific/BranchLikelihood.java          |  234 ++++
 .../lineagespecific/BranchSpecificTrait.java       |   73 ++
 .../lineagespecific/BranchSpecificTraitParser.java |   26 +-
 .../CountableRealizationsParameter.java            |    4 +-
 .../CountableRealizationsParameterParser.java      |    4 +-
 .../lineagespecific/DirichletProcessOperator.java  |  228 ++--
 .../DirichletProcessOperatorParser.java            |   44 +-
 .../lineagespecific/DirichletProcessPrior.java     |   25 +
 .../DirichletProcessPriorLogger.java               |   25 +
 .../DirichletProcessPriorLoggerParser.java         |   25 +
 .../DirichletProcessPriorParser.java               |   25 +
 .../LineageSpecificBranchModel.java                |   31 +-
 .../LineageSpecificBranchModelParser.java          |   30 +-
 .../lineagespecific/RatioParameter.java            |   25 +
 .../lineagespecific/RatioParameterParser.java      |   25 +
 .../newtreelikelihood/NewBeagleTreeLikelihood.java |    4 +-
 .../newtreelikelihood/NewGammaSiteModel.java       |    2 +-
 .../evomodel/newtreelikelihood/SiteModel.java      |    4 +-
 .../operators/PatternWeightIncrementOperator.java  |    4 +-
 .../evomodel/operators/TipStateSwapOperator.java   |    2 +-
 .../evomodel/parsers/ALSTreeLikelihoodParser.java  |    2 +-
 .../AncestralStateTreeLikelihoodParser.java        |    2 +-
 .../BalancedBeagleTreeLikelihoodParser.java        |    2 +-
 .../evomodel/parsers/BeagleOperationParser.java    |    2 +-
 .../BeagleSubstitutionEpochModelParser.java        |    2 +-
 .../parsers/BeagleTreeLikelihoodParser.java        |   10 +-
 .../parsers/BinaryCovarionModelParser.java         |    2 +-
 .../parsers/BinarySubstitutionModelParser.java     |    2 +-
 .../parsers/BranchAssignmentModelParser.java       |   97 ++
 .../parsers/BranchSpecificBranchModelParser.java   |    7 +-
 .../CodonPartitionedRobustCountingParser.java      |    2 +-
 .../parsers/CompleteHistoryLoggerParser.java       |    2 +-
 .../parsers/ComplexSubstitutionModelParser.java    |    2 +-
 .../evomodel/parsers/CompoundLikelihoodParser.java |    2 +-
 .../beagle/evomodel/parsers/DnDsLoggerParser.java  |    2 +-
 .../parsers/EmpiricalAminoAcidModelParser.java     |    2 +-
 .../parsers/EmpiricalCodonModelParser.java         |    2 +-
 .../evomodel/parsers/EpochBranchModelParser.java   |    2 +-
 .../parsers/ExternalInternalBranchModelParser.java |   89 ++
 ...ernalInternalBranchSubstitutionModelParser.java |    2 +-
 .../evomodel/parsers/FrequencyModelParser.java     |    2 +-
 .../parsers/GLMSubstitutionModelParser.java        |    2 +-
 src/dr/app/beagle/evomodel/parsers/GTRParser.java  |    2 +-
 .../evomodel/parsers/GY94CodonModelParser.java     |    2 +-
 .../evomodel/parsers/GammaSiteModelParser.java     |    2 +-
 .../parsers/GeneralSubstitutionModelParser.java    |    2 +-
 src/dr/app/beagle/evomodel/parsers/HKYParser.java  |    2 +-
 .../evomodel/parsers/HistoryFilterParser.java      |    2 +-
 .../parsers/LewisMkSubstitutionModelParser.java    |    2 +-
 .../evomodel/parsers/MG94CodonModelParser.java     |    2 +-
 .../parsers/MarkovJumpsLikelihoodLoggerParser.java |    2 +-
 .../parsers/MarkovJumpsTreeLikelihoodParser.java   |    2 +-
 .../MarkovModulatedGY94CodonModelParser.java       |    2 +-
 .../MarkovModulatedHiddenClassRewardParser.java    |    2 +-
 .../MarkovModulatedSubstitutionModelParser.java    |    2 +-
 .../evomodel/parsers/MutationDeathModelParser.java |    2 +-
 .../OldAncestralStateTreeLikelihoodParser.java     |    2 +-
 .../OldMarkovJumpsTreeLikelihoodParser.java        |    2 +-
 .../evomodel/parsers/OldTreeLikelihoodParser.java  |    4 +-
 .../OptimizedBeagleTreeLikelihoodParser.java       |    2 +-
 .../evomodel/parsers/PCACodonModelParser.java      |    2 +-
 .../PatternWeightIncrementOperatorParser.java      |    4 +-
 .../parsers/RandomBranchAssignmentModelParser.java |   97 ++
 .../evomodel/parsers/RandomBranchModelParser.java  |   25 +
 .../evomodel/parsers/StarTreeLikelihoodParser.java |    2 +-
 .../parsers/StratifiedTraitLoggerParser.java       |    2 +-
 src/dr/app/beagle/evomodel/parsers/TN93Parser.java |    2 +-
 .../parsers/TipStateSwapOperatorParser.java        |    2 +-
 .../sitemodel/BranchSubstitutionModel.java         |    2 +-
 .../sitemodel/EpochBranchSubstitutionModel.java    |    2 +-
 .../ExternalInternalBranchSubstitutionModel.java   |    2 +-
 .../evomodel/sitemodel/GammaSiteRateModel.java     |    2 +-
 .../HomogenousBranchSubstitutionModel.java         |    2 +-
 .../beagle/evomodel/sitemodel/SiteRateModel.java   |    2 +-
 .../evomodel/substmodel/AbstractCodonModel.java    |    2 +-
 .../evomodel/substmodel/AbstractCovarionModel.java |    2 +-
 .../evomodel/substmodel/AbstractPCARateMatrix.java |    2 +-
 .../evomodel/substmodel/BaseSubstitutionModel.java |    2 +-
 .../evomodel/substmodel/BinaryCovarionModel.java   |    2 +-
 .../beagle/evomodel/substmodel/CodonLabeling.java  |    2 +-
 .../substmodel/CodonPartitionedRobustCounting.java |    2 +-
 .../evomodel/substmodel/ColtEigenSystem.java       |    2 +-
 .../substmodel/ComplexColtEigenSystem.java         |    2 +-
 .../substmodel/ComplexSubstitutionModel.java       |    2 +-
 .../substmodel/CovarionFrequencyModel.java         |    2 +-
 .../evomodel/substmodel/DefaultEigenSystem.java    |    2 +-
 .../DependentProductChainSubstitutionModel.java    |    2 +-
 .../evomodel/substmodel/EigenDecomposition.java    |    2 +-
 .../beagle/evomodel/substmodel/EigenSystem.java    |    2 +-
 .../substmodel/EmpiricalAminoAcidModel.java        |    2 +-
 .../evomodel/substmodel/EmpiricalCodonModel.java   |    2 +-
 .../evomodel/substmodel/EmpiricalRateMatrix.java   |    2 +-
 .../substmodel/ExposeRateCategoriesWrapper.java    |    2 +-
 .../beagle/evomodel/substmodel/FrequencyModel.java |    2 +-
 .../evomodel/substmodel/GLMSubstitutionModel.java  |    2 +-
 src/dr/app/beagle/evomodel/substmodel/GTR.java     |    2 +-
 .../beagle/evomodel/substmodel/GY94CodonModel.java |    2 +-
 .../substmodel/GeneralSubstitutionModel.java       |    2 +-
 src/dr/app/beagle/evomodel/substmodel/HKY.java     |    4 +-
 .../beagle/evomodel/substmodel/MG94CodonModel.java |    2 +-
 .../evomodel/substmodel/MG94HKYCodonModel.java     |    4 +-
 .../substmodel/MarkovJumpsSubstitutionModel.java   |    2 +-
 .../substmodel/MarkovModulatedFrequencyModel.java  |    2 +-
 .../substmodel/MarkovModulatedGY94CodonModel.java  |    2 +-
 .../MarkovModulatedSubstitutionModel.java          |    2 +-
 .../evomodel/substmodel/MutationDeathModel.java    |    2 +-
 .../beagle/evomodel/substmodel/PCACodonModel.java  |    2 +-
 .../evomodel/substmodel/PCARateMatrixMammalia.java |    2 +-
 .../substmodel/ProductChainFrequencyModel.java     |    2 +-
 .../substmodel/ProductChainSubstitutionModel.java  |    2 +-
 .../substmodel/SVSComplexSubstitutionModel.java    |    2 +-
 .../substmodel/SVSGeneralSubstitutionModel.java    |    2 +-
 .../substmodel/StratifiedTraitOutputFormat.java    |    2 +-
 .../evomodel/substmodel/SubstitutionModel.java     |    2 +-
 .../evomodel/substmodel/SubstitutionProcess.java   |    2 +-
 src/dr/app/beagle/evomodel/substmodel/TN93.java    |    4 +-
 .../substmodel/UniformizedSubstitutionModel.java   |    2 +-
 .../treelikelihood/ALSBeagleTreeLikelihood.java    |    2 +-
 .../AbstractSinglePartitionTreeLikelihood.java     |   25 +
 .../treelikelihood/AbstractTreeLikelihood.java     |    2 +-
 .../AncestralStateBeagleTreeLikelihood.java        |    2 +-
 .../AncestralStateTraitProvider.java               |    2 +-
 .../treelikelihood/BeagleOperationReport.java      |    2 +-
 .../treelikelihood/BeagleTreeLikelihood.java       |    2 +-
 .../evomodel/treelikelihood/BufferIndexHelper.java |    2 +-
 .../MarkovJumpsBeagleTreeLikelihood.java           |    2 +-
 .../treelikelihood/MarkovJumpsTraitProvider.java   |    2 +-
 .../MultiPartitionTreeLikelihood.java              |    4 +-
 .../OldAncestralStateBeagleTreeLikelihood.java     |    2 +-
 .../treelikelihood/OldBeagleTreeLikelihood.java    |    4 +-
 .../OldMarkovJumpsBeagleTreeLikelihood.java        |    2 +-
 .../treelikelihood/PartialsRescalingScheme.java    |    2 +-
 .../treelikelihood/SplitBySiteTraitLogger.java     |    2 +-
 .../treelikelihood/StarTreeLikelihood.java         |    2 +-
 .../treelikelihood/SubstitutionModelDelegate.java  |    2 +-
 .../evomodel/utilities/CompleteHistoryLogger.java  |    2 +-
 .../app/beagle/evomodel/utilities/DnDsLogger.java  |    2 +-
 .../beagle/evomodel/utilities/HistoryFilter.java   |    2 +-
 .../beagle/evomodel/utilities/TreeTraitLogger.java |    2 +-
 .../MassivelyParallelMDSImpl.java                  |   32 +-
 .../MultiDimensionalScalingCore.java               |    8 +-
 .../MultiDimensionalScalingCoreImpl.java           |   10 +-
 .../MultiDimensionalScalingCoreImpl2.java          |  219 +++-
 .../MultiDimensionalScalingLikelihood.java         |   45 +-
 .../NativeMDSSingleton.java                        |   12 +-
 .../app/beagle/tools/BeagleSequenceSimulator.java  |    2 +-
 .../app/beagle/tools/CompleteHistorySimulator.java |    2 +-
 src/dr/app/beagle/tools/Partition.java             |    2 +-
 .../app/beagle/tools/SiteLogLikelihoodLogger.java  |   25 +
 .../parsers/BeagleSequenceSimulatorParser.java     |    2 +-
 .../parsers/CompleteHistorySimulatorParser.java    |    2 +-
 .../app/beagle/tools/parsers/PartitionParser.java  |    2 +-
 .../parsers/SiteLogLikelihoodLoggerParser.java     |   25 +
 src/dr/app/beast/BeastDialog.java                  |    4 +-
 src/dr/app/beast/BeastMC3.java                     |    2 +-
 src/dr/app/beast/BeastMC3Dialog.java               |    2 +-
 src/dr/app/beast/BeastMPI.java                     |    2 +-
 src/dr/app/beast/BeastMain.java                    |   27 +-
 src/dr/app/beast/BeastParser.java                  |   10 +-
 src/dr/app/beast/BeastRemote.java                  |   27 +-
 src/dr/app/beast/BeastVersion.java                 |   24 +-
 src/dr/app/beast/beagle_parsers.properties         |    7 +-
 src/dr/app/beast/beast.properties                  |   25 +
 src/dr/app/beast/development_parsers.properties    |   18 +-
 src/dr/app/beast/release_parsers.properties        |    4 +-
 src/dr/app/beastgen/BEASTGen.java                  |   25 +
 src/dr/app/beastgen/BeastImporter.java             |   25 +
 src/dr/app/beastgen/DataModelImporter.java         |   25 +
 src/dr/app/beastgen/NexusApplicationImporter.java  |   25 +
 src/dr/app/beauti/BeautiApp.java                   |    2 +-
 .../app/beauti/BeautiDefaultFileMenuFactory.java   |   25 +
 src/dr/app/beauti/BeautiFrame.java                 |   25 +
 src/dr/app/beauti/BeautiMacFileMenuFactory.java    |    2 +-
 src/dr/app/beauti/BeautiMenuBarFactory.java        |    2 +-
 src/dr/app/beauti/BeautiPanel.java                 |   25 +
 src/dr/app/beauti/ComboBoxRenderer.java            |   25 +
 .../beauti/alignmentviewer/AlignmentBuffer.java    |   25 +
 .../alignmentviewer/AlignmentBufferListener.java   |   25 +
 .../app/beauti/alignmentviewer/AlignmentPane.java  |   25 +
 .../beauti/alignmentviewer/AlignmentViewer.java    |   25 +
 .../beauti/alignmentviewer/AminoAcidDecorator.java |   25 +
 .../app/beauti/alignmentviewer/CellDecorator.java  |   25 +
 .../ChemicalAminoAcidDecorator.java                |   25 +
 .../beauti/alignmentviewer/ColumnDecorator.java    |   25 +
 .../HydropathyAminoAcidDecorator.java              |   25 +
 .../alignmentviewer/NucleotideDecorator.java       |   25 +
 src/dr/app/beauti/alignmentviewer/PlotPane.java    |   25 +
 .../app/beauti/alignmentviewer/RowDecorator.java   |   25 +
 src/dr/app/beauti/alignmentviewer/RulerPane.java   |   25 +
 .../beauti/alignmentviewer/StateCellDecorator.java |   25 +
 .../app/beauti/alignmentviewer/StateDecorator.java |   25 +
 src/dr/app/beauti/alignmentviewer/TaxonPane.java   |   25 +
 .../alignmentviewer/VolumeAminoAcidDecorator.java  |   25 +
 .../AncestralStatesOptionsPanel.java               |    4 +-
 .../ancestralStatesPanel/AncestralStatesPanel.java |   12 +-
 .../beauti/clockModelsPanel/ClockModelsPanel.java  |   12 +-
 .../clockModelsPanel/OldClockModelsPanel.java      |   12 +-
 .../clockModelsPanel/PartitionClockModelPanel.java |   12 +-
 src/dr/app/beauti/components/ComponentFactory.java |   25 +
 .../AncestralStatesComponentFactory.java           |   25 +
 .../AncestralStatesComponentGenerator.java         |    2 +-
 .../AncestralStatesComponentOptions.java           |   25 +
 .../continuous/ContinuousComponentFactory.java     |   25 +
 .../continuous/ContinuousComponentGenerator.java   |   25 +
 .../continuous/ContinuousComponentOptions.java     |   25 +
 .../continuous/ContinuousSubstModelType.java       |   25 +
 .../discrete/DiscreteSubstModelType.java           |   25 +
 .../discrete/DiscreteTraitsComponentFactory.java   |   25 +
 .../discrete/DiscreteTraitsComponentGenerator.java |    2 +-
 .../discrete/DiscreteTraitsComponentOptions.java   |    2 +-
 .../components/dollo/DolloComponentFactory.java    |   25 +
 .../components/dollo/DolloComponentGenerator.java  |    2 +-
 .../components/dollo/DolloComponentOptions.java    |    2 +-
 .../hpm/HierarchicalModelComponentFactory.java     |   25 +
 .../hpm/HierarchicalModelComponentGenerator.java   |   25 +
 .../hpm/HierarchicalModelComponentOptions.java     |   25 +
 .../hpm/HierarchicalPhylogeneticModel.java         |   25 +
 .../linkedparameters/LinkedParameter.java          |   25 +
 .../LinkedParameterComponentFactory.java           |   25 +
 .../LinkedParameterComponentGenerator.java         |   25 +
 .../LinkedParameterComponentOptions.java           |   25 +
 .../marginalLikelihoodEstimation/MLEDialog.java    |  122 +-
 .../marginalLikelihoodEstimation/MLEGSSDialog.java |  304 +++++
 ...rginalLikelihoodEstimationComponentFactory.java |    4 +-
 .../MarginalLikelihoodEstimationGenerator.java     |  729 +++++++++++-
 .../MarginalLikelihoodEstimationOptions.java       |   22 +-
 .../SequenceErrorModelComponentFactory.java        |   25 +
 .../SequenceErrorModelComponentGenerator.java      |   25 +
 .../SequenceErrorModelComponentOptions.java        |   25 +
 .../TipDateSamplingComponentFactory.java           |   25 +
 .../TipDateSamplingComponentGenerator.java         |   25 +
 .../TipDateSamplingComponentOptions.java           |   25 +
 .../beauti/datapanel/BeautiAlignmentBuffer.java    |   25 +
 src/dr/app/beauti/datapanel/DataPanel.java         |   12 +-
 src/dr/app/beauti/datapanel/SelectClockDialog.java |    4 +-
 src/dr/app/beauti/datapanel/SelectModelDialog.java |    4 +-
 src/dr/app/beauti/datapanel/SelectTraitDialog.java |    4 +-
 src/dr/app/beauti/datapanel/SelectTreeDialog.java  |    4 +-
 src/dr/app/beauti/datapanel/ViewAligmentPanel.java |    2 +-
 .../app/beauti/generator/AlignmentGenerator.java   |    2 +-
 .../beauti/generator/BaseComponentGenerator.java   |   25 +
 src/dr/app/beauti/generator/BeastGenerator.java    |    2 +-
 .../generator/BranchRatesModelGenerator.java       |   12 +-
 .../app/beauti/generator/ComponentGenerator.java   |   25 +
 src/dr/app/beauti/generator/Generator.java         |   50 +
 .../app/beauti/generator/InitialTreeGenerator.java |    2 +-
 src/dr/app/beauti/generator/LogGenerator.java      |   21 +-
 .../app/beauti/generator/OperatorsGenerator.java   |    2 +-
 .../beauti/generator/ParameterPriorGenerator.java  |   12 +-
 .../app/beauti/generator/PatternListGenerator.java |   25 +
 .../app/beauti/generator/STARBEASTGenerator.java   |   12 +-
 .../generator/SubstitutionModelGenerator.java      |    2 +-
 .../beauti/generator/TMRCAStatisticsGenerator.java |   25 +
 .../beauti/generator/TreeLikelihoodGenerator.java  |    2 +-
 .../app/beauti/generator/TreeModelGenerator.java   |   10 +-
 .../app/beauti/generator/TreePriorGenerator.java   |    2 +-
 src/dr/app/beauti/mcmcpanel/MCMCPanel.java         |  159 ++-
 .../app/beauti/operatorspanel/OperatorsPanel.java  |   10 +-
 .../app/beauti/options/AbstractPartitionData.java  |    2 +-
 src/dr/app/beauti/options/BeautiOptions.java       |    5 +-
 src/dr/app/beauti/options/ClockModelGroup.java     |   25 +
 src/dr/app/beauti/options/ClockModelOptions.java   |   12 +-
 src/dr/app/beauti/options/ComponentOptions.java    |   12 +-
 src/dr/app/beauti/options/DateGuesser.java         |   12 +-
 src/dr/app/beauti/options/GuessDatesException.java |   25 +
 .../app/beauti/options/MicrosatelliteOptions.java  |   25 +
 src/dr/app/beauti/options/ModelOptions.java        |   12 +-
 src/dr/app/beauti/options/Operator.java            |   12 +-
 src/dr/app/beauti/options/Parameter.java           |   12 +-
 src/dr/app/beauti/options/PartitionClockModel.java |   12 +-
 .../options/PartitionClockModelSubstModelLink.java |   25 +
 .../options/PartitionClockModelTreeModelLink.java  |   12 +-
 src/dr/app/beauti/options/PartitionData.java       |   12 +-
 src/dr/app/beauti/options/PartitionOptions.java    |   10 +-
 src/dr/app/beauti/options/PartitionPattern.java    |   25 +
 .../beauti/options/PartitionSubstitutionModel.java |    2 +-
 src/dr/app/beauti/options/PartitionTreeModel.java  |   12 +-
 src/dr/app/beauti/options/PartitionTreePrior.java  |    2 +-
 src/dr/app/beauti/options/STARBEASTOptions.java    |   12 +-
 src/dr/app/beauti/options/SiteModelOptions.java    |   25 +
 src/dr/app/beauti/options/TraitData.java           |   25 +
 src/dr/app/beauti/options/TraitGuesser.java        |   12 +-
 src/dr/app/beauti/options/TreeModelOptions.java    |   12 +-
 .../beauti/priorsPanel/AbstractPriorDialog.java    |   25 +
 .../priorsPanel/DefaultPriorTableDialog.java       |    4 +-
 .../priorsPanel/HierarchicalPriorDialog.java       |   25 +
 .../app/beauti/priorsPanel/JointPriorDialog.java   |   25 +
 src/dr/app/beauti/priorsPanel/PriorDialog.java     |    2 +-
 .../app/beauti/priorsPanel/PriorOptionsPanel.java  |   25 +
 .../app/beauti/priorsPanel/PriorSettingsPanel.java |    4 +-
 src/dr/app/beauti/priorsPanel/PriorTableModel.java |   25 +
 src/dr/app/beauti/priorsPanel/PriorsPanel.java     |    2 +-
 .../beauti/priorsPanel/SelectParametersDialog.java |    4 +-
 .../app/beauti/priorsPanel/SpecialNumberPanel.java |    2 +-
 .../beauti/siteModelsPanel/CloneModelDialog.java   |   12 +-
 .../siteModelsPanel/PartitionModelPanel.java       |    2 +-
 .../beauti/siteModelsPanel/SiteModelsPanel.java    |   12 +-
 .../app/beauti/taxonsetspanel/SpeciesSetPanel.java |   10 +-
 .../app/beauti/taxonsetspanel/TaxonSetPanel.java   |   10 +-
 .../app/beauti/tipdatepanel/GuessDatesDialog.java  |  425 ++++---
 src/dr/app/beauti/tipdatepanel/SetValueDialog.java |    4 +-
 src/dr/app/beauti/tipdatepanel/TipDatesPanel.java  |   10 +-
 .../app/beauti/traitspanel/CreateTraitDialog.java  |    4 +-
 .../app/beauti/traitspanel/GuessTraitDialog.java   |    2 +-
 .../beauti/traitspanel/GuessTraitException.java    |   25 +
 .../app/beauti/traitspanel/TraitValueDialog.java   |    4 +-
 src/dr/app/beauti/traitspanel/TraitsPanel.java     |   10 +-
 .../app/beauti/treespanel/GenerateTreeDialog.java  |    4 +-
 src/dr/app/beauti/treespanel/OldTreesPanel.java    |    4 +-
 .../beauti/treespanel/PartitionTreeModelPanel.java |    4 +-
 .../beauti/treespanel/PartitionTreePriorPanel.java |    2 +-
 .../app/beauti/treespanel/SpeciesTreesPanel.java   |    2 +-
 src/dr/app/beauti/treespanel/TreeDisplayPanel.java |    4 +-
 src/dr/app/beauti/treespanel/TreesPanel.java       |    4 +-
 src/dr/app/beauti/types/BinaryModelType.java       |    2 +-
 src/dr/app/beauti/types/ClockDistributionType.java |   12 +-
 src/dr/app/beauti/types/ClockType.java             |   12 +-
 src/dr/app/beauti/types/FixRateType.java           |   12 +-
 src/dr/app/beauti/types/FrequencyPolicyType.java   |   12 +-
 src/dr/app/beauti/types/HierarchicalModelType.java |   25 +
 src/dr/app/beauti/types/MicroSatModelType.java     |   25 +
 src/dr/app/beauti/types/OldClockType.java          |   12 +-
 src/dr/app/beauti/types/OperatorType.java          |    2 +-
 src/dr/app/beauti/types/ParameterFlavour.java      |   25 +
 .../app/beauti/types/PopulationSizeModelType.java  |   12 +-
 src/dr/app/beauti/types/PriorScaleType.java        |    2 +-
 src/dr/app/beauti/types/PriorType.java             |   25 +
 src/dr/app/beauti/types/RelativeRatesType.java     |   12 +-
 src/dr/app/beauti/types/SequenceErrorType.java     |   25 +
 src/dr/app/beauti/types/StartingTreeType.java      |   12 +-
 src/dr/app/beauti/types/TipDateSamplingType.java   |   25 +
 .../types/TreePriorParameterizationType.java       |   12 +-
 src/dr/app/beauti/types/TreePriorType.java         |    2 +-
 src/dr/app/beauti/util/BEAUTiImporter.java         |   10 +-
 src/dr/app/beauti/util/BeastImporter.java          |   25 +
 src/dr/app/beauti/util/BeautiTemplate.java         |    2 +-
 src/dr/app/beauti/util/CommandLineBeauti.java      |    4 +-
 .../app/beauti/util/NexusApplicationImporter.java  |   10 +-
 src/dr/app/beauti/util/NumberUtil.java             |   25 +
 src/dr/app/beauti/util/PanelUtils.java             |   25 +
 src/dr/app/beauti/util/PartitionNameDialog.java    |    4 +-
 src/dr/app/beauti/util/TextUtil.java               |   25 +
 src/dr/app/beauti/util/TreeUtils.java              |   10 +-
 src/dr/app/beauti/util/XMLWriter.java              |    2 +-
 src/dr/app/bfe/BFEMain.java                        |   25 +
 src/dr/app/bfe/BFEapp.java                         |   25 +
 src/dr/app/bfe/XMLMerger.java                      |   25 +
 src/dr/app/bfe/XMLTreeModel.java                   |   25 +
 src/dr/app/bfe/XMLViewer.java                      |   25 +
 src/dr/app/bss/AboutDialog.java                    |   25 +
 src/dr/app/bss/AnalysisException.java              |   19 +
 src/dr/app/bss/BeagleSequenceSimulatorApp.java     |   29 +-
 .../app/bss/BeagleSequenceSimulatorConsoleApp.java |   74 +-
 src/dr/app/bss/BranchSubstitutionModelEditor.java  |   25 +
 src/dr/app/bss/Changelog                           |    6 +-
 src/dr/app/bss/ClockRateModelEditor.java           |   27 +-
 src/dr/app/bss/ColumnResizer.java                  |   25 +
 src/dr/app/bss/DefaultEditMenuFactory.java         |   25 +
 src/dr/app/bss/DefaultFileMenuFactory.java         |   25 +
 src/dr/app/bss/DefaultHelpMenuFactory.java         |   25 +
 src/dr/app/bss/DemographicModelEditor.java         |   25 +
 src/dr/app/bss/DisabledItemsComboBox.java          |   25 +
 src/dr/app/bss/ExceptionHandler.java               |   25 +
 src/dr/app/bss/FileMenuHandler.java                |   25 +
 src/dr/app/bss/FrequencyModelEditor.java           |   25 +
 src/dr/app/bss/JTableButtonCellEditor.java         |   25 +
 src/dr/app/bss/JTableButtonCellRenderer.java       |   25 +
 src/dr/app/bss/JTableButtonMouseListener.java      |   25 +
 src/dr/app/bss/JTableComboBoxCellEditor.java       |   25 +
 src/dr/app/bss/JTableComboBoxCellRenderer.java     |   25 +
 src/dr/app/bss/MainFrame.java                      |    2 +-
 src/dr/app/bss/MenuBarFactory.java                 |   25 +
 src/dr/app/bss/PartitionData.java                  |   50 +-
 src/dr/app/bss/PartitionDataList.java              |    2 +-
 src/dr/app/bss/PartitionTableModel.java            |   25 +
 src/dr/app/bss/PartitionsPanel.java                |   25 +
 src/dr/app/bss/RootSequenceEditor.java             |   25 +
 src/dr/app/bss/RowNumberTable.java                 |   25 +
 src/dr/app/bss/SimpleFileFilter.java               |   25 +
 src/dr/app/bss/SimulationPanel.java                |    2 +-
 src/dr/app/bss/SiteRateModelEditor.java            |   25 +
 src/dr/app/bss/TableColumnHider.java               |   25 +
 src/dr/app/bss/TaxaEditor.java                     |   25 +
 src/dr/app/bss/TaxaEditorTableModel.java           |   25 +
 src/dr/app/bss/TaxaPanel.java                      |   25 +
 src/dr/app/bss/TaxaTableModel.java                 |   25 +
 src/dr/app/bss/TerminalPanel.java                  |   25 +
 src/dr/app/bss/TreesPanel.java                     |   25 +
 src/dr/app/bss/TreesTableModel.java                |   25 +
 src/dr/app/bss/TreesTableRecord.java               |   25 +
 src/dr/app/bss/Utils.java                          |   42 +
 src/dr/app/bss/XMLExporter.java                    |   25 +
 src/dr/app/bss/XMLGenerator.java                   |   25 +
 src/dr/app/bss/test/AncestralSequenceTrait.java    |   25 +
 src/dr/app/bss/test/BeagleSeqSimTest.java          |    2 +-
 src/dr/app/coalgen/CoalGenApp.java                 |    2 +-
 src/dr/app/coalgen/CoalGenData.java                |    2 +-
 src/dr/app/coalgen/CoalGenFrame.java               |    2 +-
 src/dr/app/coalgen/CoalGenMenuFactory.java         |    2 +-
 src/dr/app/coalgen/DataPanel.java                  |    2 +-
 src/dr/app/coalgen/InputsPanel.java                |   10 +-
 src/dr/app/coalgen/ModelPanel.java                 |    2 +-
 src/dr/app/coalgen/SimulationsPanel.java           |    4 +-
 src/dr/app/gui/ColorFunction.java                  |   25 +
 src/dr/app/gui/DeleteActionResponder.java          |   25 +
 src/dr/app/gui/FileDrop.java                       |   25 +
 src/dr/app/gui/SelectAllActionResponder.java       |   25 +
 src/dr/app/gui/chart/AreaPlot.java                 |   10 +-
 src/dr/app/gui/chart/Axis.java                     |    2 +-
 src/dr/app/gui/chart/BlankAxis.java                |   10 +-
 src/dr/app/gui/chart/CategoryDensityPlot.java      |   12 +-
 src/dr/app/gui/chart/ChartException.java           |    2 +-
 src/dr/app/gui/chart/ChartLayout.java              |   10 +-
 src/dr/app/gui/chart/ChartRuntimeException.java    |   25 +
 src/dr/app/gui/chart/ChartSelector.java            |   25 +
 src/dr/app/gui/chart/ChartSetupDialog.java         |   25 +
 src/dr/app/gui/chart/DensityEstimatePlot.java      |   12 +-
 src/dr/app/gui/chart/DiscreteAxis.java             |    2 +-
 src/dr/app/gui/chart/DiscreteJChart.java           |   25 +
 src/dr/app/gui/chart/ErrorBarPlot.java             |   12 +-
 src/dr/app/gui/chart/FrequencyPlot.java            |   10 +-
 src/dr/app/gui/chart/JChart.java                   |    2 +-
 src/dr/app/gui/chart/JChartPanel.java              |    2 +-
 src/dr/app/gui/chart/KDENumericalDensityPlot.java  |   25 +
 src/dr/app/gui/chart/KDESetupDialog.java           |   25 +
 src/dr/app/gui/chart/LineDistributionPlot.java     |   10 +-
 src/dr/app/gui/chart/LinePlot.java                 |   10 +-
 src/dr/app/gui/chart/LinearAxis.java               |    2 +-
 src/dr/app/gui/chart/LogAxis.java                  |    2 +-
 src/dr/app/gui/chart/NumericalDensityPlot.java     |   12 +-
 src/dr/app/gui/chart/PDFPlot.java                  |   10 +-
 src/dr/app/gui/chart/Plot.java                     |   19 +-
 src/dr/app/gui/chart/RegressionPlot.java           |   10 +-
 src/dr/app/gui/chart/ScatterPlot.java              |   60 +-
 src/dr/app/gui/components/ColorWellButton.java     |   20 +-
 src/dr/app/gui/components/JVerticalLabel.java      |   20 +-
 src/dr/app/gui/components/RealNumberField.java     |   20 +-
 src/dr/app/gui/components/WholeNumberField.java    |   20 +-
 src/dr/app/gui/table/DateCellEditor.java           |    2 +-
 .../app/gui/table/MultiLineTableCellContent.java   |   25 +
 .../app/gui/table/MultiLineTableCellRenderer.java  |   25 +
 src/dr/app/gui/table/RealNumberCellEditor.java     |   25 +
 src/dr/app/gui/table/TableEditorStopper.java       |   25 +
 src/dr/app/gui/table/TableSorter.java              |    2 +-
 src/dr/app/gui/table/TaxonListTable.java           |    2 +-
 src/dr/app/gui/table/WholeNumberCellEditor.java    |   25 +
 src/dr/app/gui/tree/CoordinateTransform.java       |    2 +-
 src/dr/app/gui/tree/JTreeDisplay.java              |    2 +-
 src/dr/app/gui/tree/JTreePanel.java                |    2 +-
 src/dr/app/gui/tree/NodeDecorator.java             |    2 +-
 src/dr/app/gui/tree/NodeHeightBoxPlot.java         |    2 +-
 src/dr/app/gui/tree/SquareTreePainter.java         |    2 +-
 src/dr/app/gui/tree/TreePainter.java               |    2 +-
 src/dr/app/gui/util/LongTask.java                  |   20 +-
 src/dr/app/gui/util/LongTaskMonitor.java           |   20 +-
 src/dr/app/gui/util/SimpleLongTask.java            |   20 +-
 src/dr/app/gui/util/SwingWorker.java               |   20 +-
 src/dr/app/gui/util/TaskListener.java              |   20 +-
 .../application/GeneralPreferencesSection.java     |   25 +
 src/dr/app/mapper/application/LocationsPanel.java  |    2 +-
 src/dr/app/mapper/application/MapperApp.java       |   25 +
 src/dr/app/mapper/application/MapperDocument.java  |    4 +-
 src/dr/app/mapper/application/MapperFrame.java     |    2 +-
 src/dr/app/mapper/application/MapperFrameOld.java  |   25 +
 .../app/mapper/application/MeasurementsPanel.java  |    4 +-
 src/dr/app/mapper/application/StrainsPanel.java    |    4 +-
 src/dr/app/mapper/application/mapper/Analysis.java |   25 +
 .../application/mapper/AnalysisListener.java       |    2 +-
 src/dr/app/mapper/application/mapper/Layer.java    |   25 +
 .../app/mapper/application/mapper/LayerType.java   |   25 +
 .../app/mapper/application/mapper/MapperPanel.java |   25 +
 .../menus/MapperDefaultFileMenuFactory.java        |   25 +
 .../application/menus/MapperFileMenuHandler.java   |   25 +
 .../menus/MapperMacFileMenuFactory.java            |   25 +
 .../application/menus/MapperMenuBarFactory.java    |   25 +
 src/dr/app/misc/Coevolve.java                      |    2 +-
 src/dr/app/oldbeauti/BeastGenerator.java           |    2 +-
 src/dr/app/oldbeauti/BeautiApp.java                |    2 +-
 .../oldbeauti/BeautiDefaultFileMenuFactory.java    |   25 +
 src/dr/app/oldbeauti/BeautiFrame.java              |   25 +
 src/dr/app/oldbeauti/BeautiMacFileMenuFactory.java |    2 +-
 src/dr/app/oldbeauti/BeautiMenuBarFactory.java     |    2 +-
 src/dr/app/oldbeauti/BeautiOptions.java            |    2 +-
 src/dr/app/oldbeauti/BeautiTester.java             |    2 +-
 src/dr/app/oldbeauti/CommandLineBeauti.java        |    4 +-
 src/dr/app/oldbeauti/DataPanel.java                |    2 +-
 src/dr/app/oldbeauti/DiscretePriorDialog.java      |   25 +
 src/dr/app/oldbeauti/GuessDatesException.java      |   25 +
 src/dr/app/oldbeauti/MCMCPanel.java                |    2 +-
 src/dr/app/oldbeauti/ModelPanel.java               |    2 +-
 src/dr/app/oldbeauti/NexusApplicationImporter.java |    2 +-
 src/dr/app/oldbeauti/OperatorsPanel.java           |    2 +-
 src/dr/app/oldbeauti/PriorDialog.java              |    2 +-
 src/dr/app/oldbeauti/PriorType.java                |   25 +
 src/dr/app/oldbeauti/PriorsPanel.java              |    2 +-
 src/dr/app/oldbeauti/TaxaPanel.java                |    4 +-
 src/dr/app/oldbeauti/TreeUtils.java                |   10 +-
 src/dr/app/oldbeauti/XMLWriter.java                |    2 +-
 src/dr/app/pathogen/ParentPlot.java                |   12 +-
 src/dr/app/pathogen/PathogenApp.java               |    8 +-
 .../pathogen/PathogenDefaultFileMenuFactory.java   |   25 +
 src/dr/app/pathogen/PathogenFrame.java             |   67 +-
 .../app/pathogen/PathogenMacFileMenuFactory.java   |   65 +-
 src/dr/app/pathogen/PathogenMenuBarFactory.java    |    7 +-
 src/dr/app/pathogen/PathogenPanel.java             |  910 +++++++++++++++
 src/dr/app/pathogen/RootToTip.java                 |   12 +-
 src/dr/app/pathogen/SamplesPanel.java              |    2 +-
 src/dr/app/pathogen/TemporalRooting.java           |   94 +-
 src/dr/app/pathogen/TemporalStress.java            |   25 +
 src/dr/app/pathogen/TreeUtils.java                 |   10 +-
 src/dr/app/pathogen/TreesPanel.java                |  785 -------------
 src/dr/app/pathogen/images/coloursTool.png         |  Bin 0 -> 1915 bytes
 src/dr/app/phylogeography/tools/ContinuousKML.java |    2 +-
 .../phylogeography/tools/ContinuousTreeToKML.java  |    2 +-
 .../phylogeography/tools/DiscreteKMLString.java    |    2 +-
 .../tools/DiscreteRatePriorGenerator.java          |    2 +-
 .../phylogeography/tools/DiscreteTreeToKML.java    |    4 +-
 .../app/phylogeography/tools/RateIndicatorBF.java  |   69 +-
 .../app/phylogeography/tools/TreeDensityKML.java   |    4 +-
 .../phylogeography/tools/TreeGeoJSONGenerator.java |    2 +-
 .../app/phylogeography/tools/TreeKMLGenerator.java |    7 +-
 .../app/phylogeography/tools/kml/AnalysisType.java |   25 +
 .../app/phylogeography/tools/kml/BranchStyle.java  |   25 +
 src/dr/app/phylogeography/tools/kml/LineStyle.java |   25 +
 src/dr/app/phylogeography/tools/kml/Location.java  |   25 +
 src/dr/app/phylogeography/tools/kml/Settings.java  |   25 +
 .../tools/kml/SurfaceDecoration.java               |   25 +
 .../phylogeography/tools/kml/TreeDefinition.java   |   25 +
 .../app/phylogeography/tools/kml/TreeSettings.java |   25 +
 src/dr/app/phylogeography/tools/kml/TreeType.java  |   25 +
 src/dr/app/plugin/Plugin.java                      |   25 +
 src/dr/app/plugin/PluginLoader.java                |   25 +
 src/dr/app/seqgen/GeoDiffusionSimulator.java       |   25 +
 src/dr/app/seqgen/MicrosatelliteSimulator.java     |   25 +
 src/dr/app/seqgen/RecomboGen.java                  |   25 +
 src/dr/app/seqgen/SeqGen.java                      |   25 +
 src/dr/app/seqgen/SequenceSimulator.java           |   25 +
 src/dr/app/tools/AncestralSequenceAnnotator.java   |   25 +
 src/dr/app/tools/AntigenicPlotter.java             |    6 +-
 src/dr/app/tools/BeastParserDoc.java               |    2 +-
 src/dr/app/tools/Branch2dRateToGrid.java           |    2 +-
 src/dr/app/tools/BranchJumpPlotter.java            |   25 +
 src/dr/app/tools/BranchRatePlotter.java            |    2 +-
 src/dr/app/tools/ConvertMigrateTrees.java          |   10 +-
 src/dr/app/tools/DensityMap.java                   |   25 +
 src/dr/app/tools/DensityPlotter.java               |    4 +-
 .../app/tools/GenerateRelaxedClockXMLByData.java   |   25 +
 .../tools/GetAncestralSequenceFromSplitTrait.java  |   40 +-
 src/dr/app/tools/GetDateFromTree.java              |   25 +
 src/dr/app/tools/JumpHistoryAnalyser.java          |   12 +-
 src/dr/app/tools/LogAnalyser.java                  |    2 +-
 src/dr/app/tools/LogCombiner.java                  |    2 +-
 src/dr/app/tools/LogCombinerDialog.java            |    2 +-
 .../tools/MakeAncestralSequenceAnnotatedTree.java  |   26 +-
 src/dr/app/tools/MixtureModelLogAnalyser.java      |    3 +-
 src/dr/app/tools/NexusExporter.java                |    2 +-
 src/dr/app/tools/NodeStateAnalyser.java            |    7 +-
 src/dr/app/tools/NormaliseMeanTreeRate.java        |   25 +
 src/dr/app/tools/OrderNexusTranslationTable.java   |   25 +
 src/dr/app/tools/SkylineReconstructor.java         |   10 +-
 src/dr/app/tools/SpeciesDelimitationAnalyser.java  |   25 +
 src/dr/app/tools/SpliceBeastFiles.java             |   25 +
 src/dr/app/tools/TaxaOriginTrait.java              |   25 +
 src/dr/app/tools/TimeSlicer.java                   |   25 +
 src/dr/app/tools/TransmissionTreeToVirusTree.java  |   25 +
 src/dr/app/tools/TreeAnnotator.java                |    2 +-
 src/dr/app/tools/TreeAnnotatorDialog.java          |    2 +-
 src/dr/app/tools/TreeLengthFinder.java             |    3 +-
 src/dr/app/tools/TreeLogAnalyser.java              |   10 +-
 src/dr/app/tools/TreeSummary.java                  |  209 +++-
 src/dr/app/tracer/analysis/BayesFactorsDialog.java |    2 +-
 src/dr/app/tracer/analysis/BayesFactorsFrame.java  |    2 +-
 .../app/tracer/analysis/BayesianSkylineDialog.java |   10 +-
 src/dr/app/tracer/analysis/DemographicDialog.java  |   10 +-
 .../app/tracer/analysis/DemographicPlotPanel.java  |   10 +-
 .../analysis/ExtendedBayesianSkylineDialog.java    |   12 +-
 src/dr/app/tracer/analysis/GMRFSkyrideDialog.java  |   10 +-
 .../tracer/analysis/LineagesThroughTimeDialog.java |   10 +-
 .../tracer/analysis/NewTemporalAnalysisDialog.java |    2 +-
 src/dr/app/tracer/analysis/SkyGridDialog.java      |    2 +-
 .../app/tracer/analysis/TemporalAnalysisFrame.java |   10 +-
 .../tracer/analysis/TemporalAnalysisPlotPanel.java |   10 +-
 src/dr/app/tracer/analysis/TimeDensityDialog.java  |   10 +-
 .../tracer/analysis/TraitThroughTimeDialog.java    |   10 +-
 .../tracer/application/AnalysisMenuFactory.java    |    2 +-
 .../tracer/application/AnalysisMenuHandler.java    |    2 +-
 .../application/GeneralPreferencesSection.java     |   25 +
 .../tracer/application/InstantiableTracerApp.java  |   10 +-
 src/dr/app/tracer/application/TracerApp.java       |    4 +-
 .../application/TracerDefaultFileMenuFactory.java  |   25 +
 .../tracer/application/TracerFileMenuHandler.java  |   25 +
 src/dr/app/tracer/application/TracerFrame.java     |    2 +-
 .../application/TracerMacFileMenuFactory.java      |    4 +-
 .../tracer/application/TracerMenuBarFactory.java   |   25 +
 src/dr/app/tracer/traces/CombinedTraces.java       |    4 +-
 src/dr/app/tracer/traces/DensityPanel.java         |   10 +-
 src/dr/app/tracer/traces/FilterAbstractPanel.java  |   25 +
 .../app/tracer/traces/FilterContinuousPanel.java   |   25 +
 src/dr/app/tracer/traces/FilterDialog.java         |   25 +
 src/dr/app/tracer/traces/FilterDiscretePanel.java  |   25 +
 src/dr/app/tracer/traces/FilterListPanel.java      |   25 +
 src/dr/app/tracer/traces/FrequencyPanel.java       |   25 +
 src/dr/app/tracer/traces/IntervalsPanel.java       |   25 +
 src/dr/app/tracer/traces/JIntervalsChart.java      |   25 +
 src/dr/app/tracer/traces/JTraceChart.java          |   10 +-
 src/dr/app/tracer/traces/JointDensityPanel.java    |   12 +-
 src/dr/app/tracer/traces/RawTracePanel.java        |   25 +
 .../app/tracer/traces/SummaryStatisticsPanel.java  |   25 +
 src/dr/app/tracer/traces/TableRenderer.java        |   25 +
 src/dr/app/tracer/traces/TableScrollPane.java      |   25 +
 src/dr/app/tracer/traces/TraceOptions.java         |   25 +
 src/dr/app/tracer/traces/TracePanel.java           |   25 +
 src/dr/app/treespace/CladePanel.java               |   25 +
 src/dr/app/treespace/CladePlotter.java             |   25 +
 src/dr/app/treespace/CladeSystem.java              |   25 +
 src/dr/app/treespace/InputFile.java                |   25 +
 src/dr/app/treespace/MacFileMenuFactory.java       |   25 +
 src/dr/app/treespace/TreeLineages.java             |   25 +
 src/dr/app/treespace/TreePanel.java                |   25 +
 src/dr/app/treespace/TreePlotter.java              |   25 +
 src/dr/app/treespace/TreeSpaceApp.java             |   25 +
 src/dr/app/treespace/TreeSpaceDocument.java        |   25 +
 src/dr/app/treespace/TreeSpaceFrame.java           |   25 +
 src/dr/app/treespace/TreeSpaceMenuBarFactory.java  |   25 +
 .../inputpanel/InputFileSettingsDialog.java        |   25 +
 src/dr/app/treespace/inputpanel/InputPanel.java    |   25 +
 src/dr/app/treespace/renderpanel/RenderPanel.java  |   25 +
 src/dr/app/treestat/CharactersPanel.java           |    2 +-
 src/dr/app/treestat/StatisticsPanel.java           |   10 +-
 src/dr/app/treestat/TableSorter.java               |    2 +-
 src/dr/app/treestat/TaxonSetsPanel.java            |    2 +-
 src/dr/app/treestat/TreeStatApp.java               |    2 +-
 src/dr/app/treestat/TreeStatData.java              |    2 +-
 src/dr/app/treestat/TreeStatFrame.java             |    2 +-
 src/dr/app/treestat/TreeStatPanel.java             |    2 +-
 .../statistics/AbstractTreeSummaryStatistic.java   |    2 +-
 src/dr/app/treestat/statistics/B1Statistic.java    |    2 +-
 .../statistics/BetaTreeDiversityStatistic.java     |   10 +-
 .../app/treestat/statistics/CherryStatistic.java   |    2 +-
 .../statistics/CladeMRCAAttributeStatistic.java    |    4 +-
 .../statistics/CladeMeanAttributeStatistic.java    |    4 +-
 src/dr/app/treestat/statistics/CollessIndex.java   |    2 +-
 src/dr/app/treestat/statistics/DeltaStatistic.java |    2 +-
 .../treestat/statistics/ExternalBranchRates.java   |   10 +-
 .../treestat/statistics/ExternalInternalRatio.java |    2 +-
 src/dr/app/treestat/statistics/FuLiD.java          |    2 +-
 src/dr/app/treestat/statistics/GammaStatistic.java |    2 +-
 .../treestat/statistics/InternalBranchLengths.java |   10 +-
 .../treestat/statistics/InternalBranchRates.java   |   10 +-
 .../treestat/statistics/InternalNodeAttribute.java |   10 +-
 .../treestat/statistics/IntervalKStatistic.java    |    2 +-
 .../treestat/statistics/LineageCountStatistic.java |   25 +
 .../statistics/LineageProportionStatistic.java     |   25 +
 .../statistics/MRCAOlderThanStatistic.java         |   25 +
 src/dr/app/treestat/statistics/Nbar.java           |    2 +-
 src/dr/app/treestat/statistics/NodeHeights.java    |    2 +-
 .../statistics/RankProportionStatistic.java        |    2 +-
 .../app/treestat/statistics/RootToTipLengths.java  |    2 +-
 .../statistics/SingleChildCountStatistic.java      |    4 +-
 .../statistics/SummaryStatisticDescription.java    |    2 +-
 .../treestat/statistics/TMRCASummaryStatistic.java |    2 +-
 src/dr/app/treestat/statistics/TreeHeight.java     |    2 +-
 src/dr/app/treestat/statistics/TreeLength.java     |    2 +-
 .../treestat/statistics/TreeSummaryStatistic.java  |    2 +-
 .../app/treestat/statistics/TreenessStatistic.java |    2 +-
 src/dr/app/util/Arguments.java                     |    2 +-
 src/dr/app/util/OSType.java                        |   12 +-
 src/dr/app/util/Utils.java                         |    2 +-
 src/dr/app/vcs/VariableCoalescentSimulator.java    |   25 +
 src/dr/evolution/LinkageConstraints.java           |   25 +
 src/dr/evolution/LinkedGroup.java                  |   25 +
 src/dr/evolution/MetagenomeData.java               |   25 +
 src/dr/evolution/alignment/Alignment.java          |    2 +-
 .../alignment/AlignmentParseException.java         |    2 +-
 .../alignment/AscertainedSitePatterns.java         |   25 +
 src/dr/evolution/alignment/BootstrapPatterns.java  |    2 +-
 src/dr/evolution/alignment/CharSetAlignment.java   |   10 +-
 src/dr/evolution/alignment/Consensus.java          |    2 +-
 src/dr/evolution/alignment/ConvertAlignment.java   |    2 +-
 src/dr/evolution/alignment/Defects.java            |    2 +-
 src/dr/evolution/alignment/ExtractPairs.java       |    2 +-
 .../evolution/alignment/GapStrippedAlignment.java  |    2 +-
 src/dr/evolution/alignment/GapUtils.java           |    2 +-
 .../evolution/alignment/HypermutantAlignment.java  |    4 +-
 src/dr/evolution/alignment/JackknifePatterns.java  |    2 +-
 .../evolution/alignment/MsatPatternStatistic.java  |   25 +
 src/dr/evolution/alignment/PairedSitePatterns.java |    2 +-
 src/dr/evolution/alignment/PatternList.java        |    2 +-
 src/dr/evolution/alignment/Patterns.java           |   27 +-
 src/dr/evolution/alignment/ResamplePatterns.java   |    2 +-
 src/dr/evolution/alignment/ShuffledSiteList.java   |    2 +-
 src/dr/evolution/alignment/SimpleAlignment.java    |    2 +-
 src/dr/evolution/alignment/SimpleSiteList.java     |    2 +-
 src/dr/evolution/alignment/SiteList.java           |    2 +-
 src/dr/evolution/alignment/SitePatterns.java       |    2 +-
 src/dr/evolution/alignment/WrappedAlignment.java   |   25 +
 .../coalescent/CataclysmicDemographic.java         |    2 +-
 src/dr/evolution/coalescent/Coalescent.java        |    2 +-
 .../evolution/coalescent/CoalescentSimulator.java  |    2 +-
 src/dr/evolution/coalescent/ConstExpConst.java     |    4 +-
 src/dr/evolution/coalescent/ConstExponential.java  |    2 +-
 src/dr/evolution/coalescent/ConstLogistic.java     |    2 +-
 .../evolution/coalescent/ConstantPopulation.java   |    2 +-
 .../evolution/coalescent/DemographicFunction.java  |    2 +-
 .../coalescent/EmpiricalPiecewiseConstant.java     |    2 +-
 .../coalescent/ExpConstExpDemographic.java         |    2 +-
 src/dr/evolution/coalescent/ExpConstant.java       |   25 +
 src/dr/evolution/coalescent/Expansion.java         |    2 +-
 .../evolution/coalescent/ExponentialBSPGrowth.java |    4 +-
 .../coalescent/ExponentialExponential.java         |   25 +
 src/dr/evolution/coalescent/ExponentialGrowth.java |    2 +-
 .../evolution/coalescent/ExponentialLogistic.java  |    2 +-
 .../evolution/coalescent/ExponentialSawtooth.java  |    2 +-
 src/dr/evolution/coalescent/FlexibleGrowth.java    |  172 +++
 src/dr/evolution/coalescent/IntervalList.java      |    2 +-
 src/dr/evolution/coalescent/IntervalType.java      |   10 +-
 src/dr/evolution/coalescent/Intervals.java         |    2 +-
 src/dr/evolution/coalescent/LinearGrowth.java      |  124 +++
 src/dr/evolution/coalescent/LogisticGrowth.java    |    2 +-
 .../coalescent/PLCoalescentSimulator.java          |   25 +
 .../coalescent/PiecewiseConstantPopulation.java    |    2 +-
 .../coalescent/PiecewiseExponentialPopulation.java |    4 +-
 .../coalescent/PiecewiseLinearPopulation.java      |    2 +-
 src/dr/evolution/coalescent/PowerLawGrowth.java    |  148 +++
 src/dr/evolution/coalescent/ScaledDemographic.java |   25 +
 src/dr/evolution/coalescent/Skyline.java           |    2 +-
 src/dr/evolution/coalescent/TreeIntervals.java     |    2 +-
 .../evolution/coalescent/TwoEpochDemographic.java  |    2 +-
 .../structure/ColouredTreeIntervals.java           |   10 +-
 src/dr/evolution/coalescent/structure/Event.java   |   10 +-
 .../coalescent/structure/MetaPopulation.java       |   10 +-
 .../coalescent/structure/StructuredCoalescent.java |   10 +-
 .../structure/StructuredCoalescentSimulator.java   |   10 +-
 .../structure/StructuredIntervalList.java          |    2 +-
 src/dr/evolution/colouring/BasicColourSampler.java |   10 +-
 src/dr/evolution/colouring/BranchColouring.java    |   10 +-
 src/dr/evolution/colouring/ColourChangeMatrix.java |    2 +-
 src/dr/evolution/colouring/ColourSampler.java      |   10 +-
 .../colouring/DefaultBranchColouring.java          |    4 +-
 .../evolution/colouring/DefaultTreeColouring.java  |    4 +-
 .../colouring/StructuredColourSampler.java         |   10 +-
 .../SubstitutionModelToColourChangeMatrix.java     |   25 +
 src/dr/evolution/colouring/TreeColouring.java      |   25 +
 .../evolution/colouring/TreeColouringProvider.java |   25 +
 src/dr/evolution/colouring/TwoColourSampler.java   |    2 +-
 src/dr/evolution/continuous/Continuous.java        |    2 +-
 .../continuous/ContinuousTraitLikelihood.java      |    2 +-
 src/dr/evolution/continuous/Contrastable.java      |    2 +-
 .../evolution/continuous/DiffusionLikelihood.java  |    2 +-
 src/dr/evolution/datatype/AminoAcids.java          |    2 +-
 src/dr/evolution/datatype/CodonTable.java          |    2 +-
 src/dr/evolution/datatype/Codons.java              |   10 +-
 src/dr/evolution/datatype/ContinuousDataType.java  |   25 +
 src/dr/evolution/datatype/DataType.java            |    2 +-
 src/dr/evolution/datatype/GeneralDataType.java     |    2 +-
 src/dr/evolution/datatype/GeneticCode.java         |    2 +-
 src/dr/evolution/datatype/HiddenCodons.java        |   25 +
 src/dr/evolution/datatype/HiddenDataType.java      |   25 +
 src/dr/evolution/datatype/HiddenNucleotides.java   |    2 +-
 src/dr/evolution/datatype/Microsatellite.java      |   25 +
 src/dr/evolution/datatype/MutationDeathType.java   |   25 +
 .../evolution/datatype/NewHiddenNucleotides.java   |    2 +-
 src/dr/evolution/datatype/Nucleotides.java         |    2 +-
 src/dr/evolution/datatype/P2P.java                 |   25 +
 src/dr/evolution/datatype/PairedDataType.java      |    2 +-
 src/dr/evolution/datatype/PloidyType.java          |   25 +
 src/dr/evolution/datatype/SimpleCodons.java        |    2 +-
 src/dr/evolution/datatype/TwoStateCovarion.java    |    2 +-
 src/dr/evolution/datatype/TwoStates.java           |    2 +-
 src/dr/evolution/distance/DistanceMatrix.java      |    2 +-
 src/dr/evolution/distance/F84DistanceMatrix.java   |    2 +-
 .../distance/JukesCantorDistanceMatrix.java        |    2 +-
 .../distance/PatristicDistanceMatrix.java          |   25 +
 src/dr/evolution/distance/SMMDistanceMatrix.java   |   25 +
 src/dr/evolution/io/FastaImporter.java             |    4 +-
 src/dr/evolution/io/Importer.java                  |    2 +-
 src/dr/evolution/io/MicroSatImporter.java          |   25 +
 src/dr/evolution/io/MigrateTreeImporter.java       |   10 +-
 src/dr/evolution/io/NewickImporter.java            |   10 +-
 src/dr/evolution/io/NexusImporter.java             |   10 +-
 src/dr/evolution/io/PatternImporter.java           |   25 +
 src/dr/evolution/io/PhylipSequentialImporter.java  |    2 +-
 src/dr/evolution/io/SequenceImporter.java          |    2 +-
 src/dr/evolution/io/TreeExporter.java              |    2 +-
 src/dr/evolution/io/TreeImporter.java              |    2 +-
 src/dr/evolution/io/TreeTrace.java                 |   10 +-
 src/dr/evolution/parsimony/FitchParsimony.java     |    2 +-
 src/dr/evolution/parsimony/Parsimony.java          |    2 +-
 src/dr/evolution/parsimony/ParsimonyCriterion.java |    2 +-
 src/dr/evolution/parsimony/SankoffParsimony.java   |    2 +-
 src/dr/evolution/parsimony/TestParsimony.java      |    2 +-
 src/dr/evolution/phylogeny/Lineage.java            |    2 +-
 src/dr/evolution/phylogeny/Phylogeny.java          |    2 +-
 src/dr/evolution/sequence/Sequence.java            |    2 +-
 src/dr/evolution/sequence/SequenceList.java        |    2 +-
 src/dr/evolution/sequence/Sequences.java           |   10 +-
 src/dr/evolution/tree/BranchRates.java             |    4 +-
 src/dr/evolution/tree/BranchScoreMetric.java       |   25 +
 src/dr/evolution/tree/Clade.java                   |   25 +
 src/dr/evolution/tree/CladeDistribution.java       |   25 +
 src/dr/evolution/tree/CladeMetric.java             |   25 +
 src/dr/evolution/tree/CladeSet.java                |    2 +-
 src/dr/evolution/tree/ClusteringTree.java          |    2 +-
 src/dr/evolution/tree/ColourChange.java            |    2 +-
 src/dr/evolution/tree/ColouredTree.java            |    2 +-
 .../tree/CountConstrainedRankedHistories.java      |   10 +-
 src/dr/evolution/tree/FlexibleNode.java            |    2 +-
 src/dr/evolution/tree/FlexibleTree.java            |    2 +-
 src/dr/evolution/tree/ImportanceDistribution.java  |   25 +
 src/dr/evolution/tree/LeastSquaresClockTree.java   |    2 +-
 src/dr/evolution/tree/LineageCountThroughTime.java |   10 +-
 src/dr/evolution/tree/MultivariateTraitTree.java   |    2 +-
 src/dr/evolution/tree/MutableTree.java             |    2 +-
 src/dr/evolution/tree/MutableTreeListener.java     |    2 +-
 src/dr/evolution/tree/MutableTreeUtils.java        |    2 +-
 src/dr/evolution/tree/NeighborJoiningTree.java     |    2 +-
 src/dr/evolution/tree/NodeRef.java                 |    2 +-
 src/dr/evolution/tree/RankedForest.java            |   10 +-
 src/dr/evolution/tree/RankedNode.java              |   10 +-
 src/dr/evolution/tree/RateSmoothingTree.java       |    2 +-
 src/dr/evolution/tree/SimpleNode.java              |    2 +-
 src/dr/evolution/tree/SimpleTree.java              |    2 +-
 src/dr/evolution/tree/SlidableTree.java            |   25 +
 src/dr/evolution/tree/SplitSystem.java             |    2 +-
 src/dr/evolution/tree/SplitUtils.java              |    2 +-
 src/dr/evolution/tree/SubtreeSlide.java            |    2 +-
 src/dr/evolution/tree/Tree.java                    |    2 +-
 src/dr/evolution/tree/TreeAttributeProvider.java   |   25 +
 src/dr/evolution/tree/TreeDoubleTraitProvider.java |    2 +-
 src/dr/evolution/tree/TreeMetrics.java             |    2 +-
 src/dr/evolution/tree/TreeNodeFilter.java          |   25 +
 src/dr/evolution/tree/TreeShape.java               |    2 +-
 src/dr/evolution/tree/TreeTrait.java               |    2 +-
 src/dr/evolution/tree/TreeTraitProvider.java       |   25 +
 src/dr/evolution/tree/UPGMATree.java               |    2 +-
 src/dr/evolution/tree/UnrootedTree.java            |    2 +-
 src/dr/evolution/util/Date.java                    |    2 +-
 src/dr/evolution/util/Location.java                |   25 +
 src/dr/evolution/util/MutableTaxonList.java        |    2 +-
 .../evolution/util/MutableTaxonListListener.java   |    2 +-
 src/dr/evolution/util/Taxa.java                    |    2 +-
 src/dr/evolution/util/Taxon.java                   |    2 +-
 src/dr/evolution/util/TaxonList.java               |    2 +-
 src/dr/evolution/util/TimeScale.java               |    2 +-
 src/dr/evolution/util/Units.java                   |    2 +-
 .../evolution/wrightfisher/BakSneppenFitness.java  |    2 +-
 src/dr/evolution/wrightfisher/BinaryMutator.java   |    2 +-
 .../wrightfisher/CodonFitnessFunction.java         |    2 +-
 .../wrightfisher/EmpiricalFitnessFunction.java     |    2 +-
 src/dr/evolution/wrightfisher/FitnessFunction.java |    2 +-
 .../wrightfisher/GammaFitnessFunction.java         |    2 +-
 .../wrightfisher/GammaInvFitnessFunction.java      |    2 +-
 src/dr/evolution/wrightfisher/Genome.java          |    2 +-
 src/dr/evolution/wrightfisher/Mutation.java        |    2 +-
 src/dr/evolution/wrightfisher/Mutator.java         |    2 +-
 src/dr/evolution/wrightfisher/NeutralModel.java    |    2 +-
 src/dr/evolution/wrightfisher/Population.java      |    2 +-
 .../evolution/wrightfisher/SelectionMapping.java   |    2 +-
 src/dr/evolution/wrightfisher/SimpleGenome.java    |    2 +-
 src/dr/evolution/wrightfisher/SimpleMutator.java   |    2 +-
 src/dr/evomodel/MSSD/ALSTreeLikelihood.java        |    2 +-
 .../evomodel/MSSD/AbstractObservationProcess.java  |    2 +-
 src/dr/evomodel/MSSD/AnyTipObservationProcess.java |    2 +-
 src/dr/evomodel/MSSD/CTMCScalePrior.java           |    2 +-
 .../MSSD/ExponentialBranchLengthTreePrior.java     |   25 +
 .../evomodel/MSSD/SingleTipObservationProcess.java |    2 +-
 src/dr/evomodel/antigenic/AntigenicDriftPrior.java |   25 +
 src/dr/evomodel/antigenic/AntigenicLikelihood.java |   25 +
 src/dr/evomodel/antigenic/AntigenicSplitPrior.java |   25 +
 .../antigenic/AntigenicTraitLikelihood.java        |   25 +
 .../antigenic/CRPClusterRandomWalkOperator.java    |   25 +
 .../antigenic/ClusterSingleMoveOperator.java       |   25 +
 .../antigenic/ClusterSplitMergeOperator.java       |   25 +
 .../ContinuousAntigenicTraitLikelihood.java        |   26 +
 .../antigenic/DirichletProcessGibbsOperator.java   |   25 +
 .../DiscreteAntigenicTraitLikelihood.java          |   26 +
 .../DistanceDependentCRPGibbsOperator.java         |   25 +
 .../antigenic/DriftedLocationsStatistic.java       |    2 +-
 src/dr/evomodel/antigenic/DriftedTraitsLogger.java |    2 +-
 .../MultidimensionalScalingLikelihood.java         |   12 +-
 .../evomodel/antigenic/NPAntigenicLikelihood.java  |   25 +
 .../approxPopTree/AbstractPopulationMRCAModel.java |   25 +
 .../CoalescentPopulationMRCAModel.java             |   25 +
 .../approxPopTree/ConstantPopulationMRCAModel.java |   25 +
 src/dr/evomodel/approxPopTree/PopTreeModel.java    |   25 +
 .../approxPopTree/UniformPopulationMRCAModel.java  |   25 +
 .../arg/ARGDistinctTreeCountStatistic.java         |   25 +
 src/dr/evomodel/arg/ARGLogger.java                 |   25 +
 src/dr/evomodel/arg/ARGModel.java                  |   10 +-
 src/dr/evomodel/arg/ARGPartitionLikelihood.java    |   25 +
 src/dr/evomodel/arg/ARGRatePrior.java              |   10 +-
 .../arg/ARGReassortmentNodeCountStatistic.java     |   25 +
 .../arg/ARGReassortmentTimingStatistic.java        |   25 +
 src/dr/evomodel/arg/ARGRelaxedClock.java           |   10 +-
 src/dr/evomodel/arg/ARGTotalLengthStatistic.java   |   25 +
 src/dr/evomodel/arg/ARGTrace.java                  |   25 +
 src/dr/evomodel/arg/ARGTraceAnalysis.java          |   25 +
 src/dr/evomodel/arg/ARGTraceAnalysisParser.java    |   25 +
 src/dr/evomodel/arg/ARGTree.java                   |   25 +
 src/dr/evomodel/arg/ARGTreeLogger.java             |    2 +-
 .../arg/HierarchicalPartitionLikelihood.java       |   10 +-
 src/dr/evomodel/arg/OldTreeLogger.java             |    2 +-
 .../evomodel/arg/PoissonPartitionLikelihood.java   |   10 +-
 .../arg/RecombinationPartitionStatistic.java       |   25 +
 .../evomodel/arg/UniformPartitionLikelihood.java   |   10 +-
 src/dr/evomodel/arg/beast.properties               |   25 +
 .../branchratemodel/ARGDiscretizedBranchRates.java |   10 +-
 .../arg/coalescent/ARGCoalescentLikelihood.java    |   25 +
 .../evomodel/arg/coalescent/ARGUniformPrior.java   |   25 +
 .../coalescent/VeryOldCoalescentLikelihood.java    |    2 +-
 src/dr/evomodel/arg/likelihood/ARGLikelihood.java  |   25 +
 .../arg/likelihood/AbstractARGLikelihood.java      |   25 +
 .../arg/operators/ARGAddRemoveEventOperator.java   |    2 +-
 .../arg/operators/ARGExchangeOperator.java         |   51 +-
 .../arg/operators/ARGPartitioningOperator.java     |   25 +
 .../arg/operators/ARGReassortmentOperator.java     |   25 +
 .../arg/operators/ARGSubtreeSlideOperator.java     |   25 +
 src/dr/evomodel/arg/operators/ARGSwapOperator.java |   25 +
 .../NonContiguousPartitionsException.java          |   25 +
 .../ObsoleteARGAddRemoveEventOperator.java         |   25 +
 .../arg/operators/ObsoleteARGNewEventOperator.java |   25 +
 .../arg/operators/SlidingPatternsOperator.java     |   25 +
 .../branchratemodel/AbstractBranchRateModel.java   |   12 +-
 .../branchratemodel/ArbitraryBranchRates.java      |    2 +-
 .../branchratemodel/AttributeBranchRateModel.java  |   25 +
 .../evomodel/branchratemodel/BranchRateModel.java  |    2 +-
 .../branchratemodel/CompoundBranchRateModel.java   |    2 +-
 .../branchratemodel/ContinuousBranchRates.java     |   10 +-
 .../ContinuousEpochBranchRateModel.java            |   25 +
 .../ContinuousTraitBranchRateModel.java            |   12 +-
 .../CountableBranchCategoryProvider.java           |    8 +-
 .../CountableMixtureBranchRates.java               |    2 +-
 .../CountableModelMixtureBranchRates.java          |   16 +-
 .../branchratemodel/DecayingRateModel.java         |    2 +-
 .../branchratemodel/DefaultBranchRateModel.java    |   10 +-
 .../DiscreteTraitBranchRateModel.java              |    2 +-
 .../branchratemodel/DiscretizedBranchRates.java    |    2 +-
 .../evomodel/branchratemodel/FixedDriftModel.java  |   25 +
 .../LatentStateBranchRateModel.java                |    2 +-
 .../evomodel/branchratemodel/LocalClockModel.java  |    2 +-
 .../branchratemodel/MixtureModelBranchRates.java   |   25 +
 .../branchratemodel/PassageBranchRateModel.java    |    4 +-
 .../branchratemodel/RandomLocalClockModel.java     |   10 +-
 .../branchratemodel/RateEpochBranchRateModel.java  |   10 +-
 .../branchratemodel/RelaxedDriftModel.java         |   25 +
 .../branchratemodel/ScaledTreeLengthRateModel.java |   10 +-
 .../SericolaLatentStateBranchRateModel.java        |    2 +-
 .../branchratemodel/StrictClockBranchRates.java    |    2 +-
 .../branchratemodel/TipBranchRateModel.java        |    2 +-
 src/dr/evomodel/clock/ACLikelihood.java            |   25 +
 src/dr/evomodel/clock/RateEvolutionLikelihood.java |   10 +-
 src/dr/evomodel/clock/UCLikelihood.java            |   25 +
 src/dr/evomodel/clock/UniversalClock.java          |    2 +-
 .../coalescent/AbstractCoalescentLikelihood.java   |    2 +-
 .../evomodel/coalescent/AsymptoticGrowthModel.java |  105 ++
 src/dr/evomodel/coalescent/BMPriorLikelihood.java  |   25 +
 .../coalescent/BayesianSkylineLikelihood.java      |    2 +-
 .../BayesianSkylinePopSizeStatistic.java           |   25 +
 .../coalescent/CataclysmicDemographicModel.java    |   10 +-
 .../coalescent/CoalescentConstantLikelihood.java   |    4 +-
 .../coalescent/CoalescentEventsStatistic.java      |  175 +--
 .../coalescent/CoalescentIntervalProvider.java     |    2 +-
 .../coalescent/CoalescentIntervalStatistic.java    |    2 +-
 .../evomodel/coalescent/CoalescentLikelihood.java  |    4 +-
 .../evomodel/coalescent/CoalescentSimulator.java   |   10 +-
 .../CoalescentTreeIntervalStatistic.java           |    2 +-
 src/dr/evomodel/coalescent/ConstExpConstModel.java |   10 +-
 .../coalescent/ConstantExponentialModel.java       |   10 +-
 .../evomodel/coalescent/ConstantLogisticModel.java |   10 +-
 .../coalescent/ConstantPopulationModel.java        |   10 +-
 .../coalescent/CovariateGMRFSkylineLikelihood.java |   25 +
 src/dr/evomodel/coalescent/DemographicModel.java   |    2 +-
 src/dr/evomodel/coalescent/EBSPAnalysis.java       |   25 +
 .../evomodel/coalescent/EmergingEpidemicModel.java |   12 +-
 .../coalescent/EmpiricalPiecewiseModel.java        |   10 +-
 .../coalescent/ExpConstExpDemographicModel.java    |   10 +-
 src/dr/evomodel/coalescent/ExpansionModel.java     |   10 +-
 .../coalescent/ExponentialConstantModel.java       |   12 +-
 .../coalescent/ExponentialExponentialModel.java    |   12 +-
 .../coalescent/ExponentialGrowthModel.java         |   10 +-
 .../coalescent/ExponentialLogisticModel.java       |   10 +-
 .../coalescent/ExponentialProductLikelihood.java   |   25 +
 ...ExponentialProductPosteriorMeansLikelihood.java |   45 +-
 ...ntialProductSufficientStatisticsLikelihood.java |   25 +
 .../coalescent/ExponentialSawtoothModel.java       |   10 +-
 .../coalescent/ExponentialSkythingLikelihood.java  |    4 +-
 .../coalescent/GMRFBivariateCurveAnalysis.java     |   25 +
 .../evomodel/coalescent/GMRFDensityComponent.java  |   25 +
 .../coalescent/GMRFFixedGridLikelihood.java        |   25 +
 .../coalescent/GMRFIntervalHeightsStatistic.java   |    4 +-
 .../GMRFMultilocusSkyrideLikelihood.java           |    7 +-
 .../evomodel/coalescent/GMRFPopSizeStatistic.java  |   25 +
 .../evomodel/coalescent/GMRFSkyrideLikelihood.java |    2 +-
 src/dr/evomodel/coalescent/GMRFTestLikelihood.java |   25 +
 src/dr/evomodel/coalescent/GPSkytrackAnalysis.java |   25 +
 .../coalescent/GammaProductLikelihood.java         |   25 +
 ...aussianProcessMultilocusSkytrackLikelihood.java |    4 +-
 .../GaussianProcessSkytrackLikelihood.java         |    2 +-
 .../evomodel/coalescent/LineageCountStatistic.java |   25 +
 src/dr/evomodel/coalescent/LinearGrowthModel.java  |   81 ++
 .../evomodel/coalescent/LogisticGrowthModel.java   |   10 +-
 src/dr/evomodel/coalescent/MultiLociTreeSet.java   |   25 +
 .../OldAbstractCoalescentLikelihood.java           |    4 +-
 .../OrnsteinUhlenbeckPriorLikelihood.java          |   25 +
 .../evomodel/coalescent/PeakAndDeclineModel.java   |  112 ++
 .../coalescent/PiecewisePopulationModel.java       |   10 +-
 src/dr/evomodel/coalescent/PopSizeStatistic.java   |    2 +-
 .../evomodel/coalescent/PopulationSizeGraph.java   |   25 +
 .../evomodel/coalescent/PowerLawGrowthModel.java   |   98 ++
 .../evomodel/coalescent/ScaledPiecewiseModel.java  |   10 +-
 src/dr/evomodel/coalescent/SkylineLikelihood.java  |    2 +-
 .../coalescent/TwoEpochDemographicModel.java       |   10 +-
 .../evomodel/coalescent/VDdemographicFunction.java |   25 +
 .../coalescent/VariableDemographicModel.java       |   10 +-
 .../coalescent/VariableSkylineLikelihood.java      |    2 +-
 .../operators/BayesianSkylineGibbsOperator.java    |   25 +
 .../GMRFMultilocusSkyrideBlockUpdateOperator.java  |   25 +
 .../operators/GMRFSkyrideBlockUpdateOperator.java  |   25 +
 .../GMRFSkyrideFixedEffectsGibbsOperator.java      |   25 +
 ...GaussianProcessSkytrackBlockUpdateOperator.java |   25 +
 .../GaussianProcessSkytrackTreeOperator.java       |   25 +
 .../operators/SampleNonActiveGibbsOperator.java    |   25 +
 .../coalescent/structure/ColourSamplerModel.java   |   10 +-
 .../structure/ConstantMigrationModel.java          |    2 +-
 .../coalescent/structure/MetaPopulationModel.java  |   10 +-
 .../coalescent/structure/MigrationModel.java       |    2 +-
 .../structure/StructuredCoalescentLikelihood.java  |   10 +-
 .../structure/TreeColouringOperator.java           |    2 +-
 .../AbstractMultivariateTraitLikelihood.java       |   47 +-
 .../BiasedMultivariateDiffusionModel.java          |   25 +
 .../continuous/BifractionalDiffusionModel.java     |   25 +
 .../BinaryLatentLiabilityLikelihood.java           |    2 +-
 .../BivariateDiscreteDiffusionModel.java           |   10 +-
 .../BivariateTraitBranchAttributeProvider.java     |   25 +
 .../BranchDirectionAttributeProvider.java          |   25 +
 .../BranchMagnitudeAttributeProvider.java          |   25 +
 .../continuous/CartogramDiffusionModel.java        |   25 +
 .../continuous/ContinuousDiffusionStatistic.java   |  429 ++++---
 .../evomodel/continuous/ContinuousLikelihood.java  |    2 +-
 ...gableIntegratedMultivariateTraitLikelihood.java |    2 +-
 src/dr/evomodel/continuous/DiffusionModel.java     |   10 +-
 .../DiffusionRateCovarianceStatistic.java          |    2 +-
 .../continuous/DiffusionRateStatistic.java         |    2 +-
 .../FullyConjugateMultivariateTraitLikelihood.java |  187 +++-
 .../continuous/GaussianProcessFromTree.java        |   50 +-
 .../GibbsIndependentCoalescentOperator.java        |    2 +-
 .../continuous/GreatCircleDiffusionModel.java      |   10 +-
 .../continuous/IndependentCoalescentSampler.java   |    2 +-
 .../continuous/InhibitionAssayLikelihood.java      |   25 +
 .../IntegratedMultivariateTraitLikelihood.java     |  289 ++++-
 .../IntervalLatentLiabilityLikelihood.java         |    2 +-
 src/dr/evomodel/continuous/LatentTruncation.java   |    2 +-
 src/dr/evomodel/continuous/MapDiffusionModel.java  |   25 +
 src/dr/evomodel/continuous/MissingTraits.java      |    4 +-
 .../continuous/MixtureCartogramDiffusionModel.java |   25 +
 .../MultinomialLatentLiabilityLikelihood.java      |    2 +-
 .../continuous/MultivariateDiffusionModel.java     |   25 +
 .../continuous/MultivariateTDiffusionModel.java    |   25 +
 .../continuous/MultivariateTraitUtils.java         |    2 +-
 ...NonPhylogeneticMultivariateTraitLikelihood.java |    2 +-
 .../OrderedLatentLiabilityLikelihood.java          |    2 +-
 src/dr/evomodel/continuous/RootTraitMLE.java       |    2 +-
 src/dr/evomodel/continuous/RootTraitStatistic.java |   25 +
 .../SampledMultivariateTraitLikelihood.java        |    2 +-
 .../SemiConjugateMultivariateTraitLikelihood.java  |    2 +-
 src/dr/evomodel/continuous/SimulateTrait.java      |    2 +-
 .../continuous/SoftThresholdLikelihood.java        |   25 +
 .../StochasticDifferentialEquationModel.java       |   25 +
 src/dr/evomodel/continuous/TopographicalMap.java   |   25 +
 src/dr/evomodel/continuous/TraitLikelihood.java    |    2 +-
 .../TreeTraitNormalDistributionModel.java          |    2 +-
 src/dr/evomodel/continuous/TreeTraitSimulator.java |   25 +
 .../continuous/TruncatedWorkingDistribution.java   |    2 +-
 .../continuous/VonMisesFisherDiffusionModel.java   |   25 +
 .../evomodel/continuous/plink/PlinkImporter.java   |   25 +
 src/dr/evomodel/epidemiology/DynamicalForce.java   |   25 +
 src/dr/evomodel/epidemiology/DynamicalSystem.java  |   25 +
 .../evomodel/epidemiology/DynamicalVariable.java   |   25 +
 src/dr/evomodel/epidemiology/LambertW.java         |   47 +-
 src/dr/evomodel/epidemiology/LogisticGrowthN0.java |   25 +
 .../epidemiology/LogisticGrowthN0Model.java        |   27 +-
 .../epidemiology/LogisticGrowthN0ModelParser.java  |   25 +
 .../epidemiology/ODEDemographicFunction.java       |   25 +
 src/dr/evomodel/epidemiology/SIRModel.java         |   25 +
 src/dr/evomodel/epidemiology/SIRModelParser.java   |   25 +
 src/dr/evomodel/epidemiology/SIRepidemic.java      |   25 +
 src/dr/evomodel/epidemiology/SIRepidemicModel.java |   25 +
 .../epidemiology/SIRepidemicModelParser.java       |   25 +
 .../epidemiology/casetocase/AbstractCase.java      |   25 +
 .../epidemiology/casetocase/AbstractOutbreak.java  |   25 +
 .../casetocase/BadPartitionException.java          |   25 +
 .../epidemiology/casetocase/BranchMapModel.java    |   25 +
 .../CaseToCaseTransmissionLikelihood.java          |   25 +
 .../casetocase/CaseToCaseTreeLikelihood.java       |  111 +-
 .../epidemiology/casetocase/CategoryOutbreak.java  |   25 +
 .../casetocase/PartitionedTreeLogger.java          |   25 +
 .../casetocase/PartitionedTreeLoggerParser.java    |   25 +
 .../casetocase/PartitionedTreeModel.java           |   25 +
 .../casetocase/PartitionedTreeModelParser.java     |    4 +-
 .../epidemiology/casetocase/SpatialKernel.java     |   25 +
 .../casetocase/WithinCaseCoalescent.java           |  312 ++++--
 .../operators/InfectionBranchGibbsOperator.java    |   25 +
 .../operators/InfectionBranchMovementOperator.java |   25 +
 .../operators/TransmissionExchangeOperatorA.java   |   25 +
 .../operators/TransmissionExchangeOperatorB.java   |   25 +
 .../operators/TransmissionSubtreeSlideA.java       |   25 +
 .../operators/TransmissionSubtreeSlideB.java       |   25 +
 .../operators/TransmissionTreeOperator.java        |   25 +
 .../operators/TransmissionWilsonBaldingA.java      |   25 +
 .../operators/TransmissionWilsonBaldingB.java      |   25 +
 .../AbstractPeriodPriorDistribution.java           |   25 +
 .../casetocase/periodpriors/IndividualPrior.java   |   25 +
 ...KnownVarianceNormalPeriodPriorDistribution.java |   25 +
 .../NormalPeriodPriorDistribution.java             |   25 +
 .../OneOverStDevPeriodPriorDistribution.java       |   25 +
 src/dr/evomodel/ibd/AvgPosteriorIBDReporter.java   |   25 +
 src/dr/evomodel/ibd/HKYRates.java                  |   25 +
 src/dr/evomodel/ibd/IBDReporter.java               |   11 +-
 src/dr/evomodel/indel/HomologyRecursion.java       |    2 +-
 src/dr/evomodel/indel/IndelModel.java              |    2 +-
 src/dr/evomodel/indel/IntMathVec.java              |    2 +-
 src/dr/evomodel/indel/IstvanOperator.java          |    2 +-
 src/dr/evomodel/indel/IstvansProposal.java         |    2 +-
 src/dr/evomodel/indel/NativeTreeLikelihood.java    |    2 +-
 src/dr/evomodel/indel/TKF91Likelihood.java         |    2 +-
 src/dr/evomodel/indel/TKF91Model.java              |   10 +-
 .../evomodel/lineage/LineageModelLikelihood.java   |   25 +
 src/dr/evomodel/lineage/LineageSitePatterns.java   |   25 +
 .../lineage/LineageSitePatternsParser.java         |    4 +-
 .../FloatGeneralLikelihoodCore.java                |    4 +-
 src/dr/evomodel/newtreelikelihood/GPUInfo.java     |   25 +
 .../newtreelikelihood/GPULikelihoodCore.java       |   25 +
 .../newtreelikelihood/GeneralLikelihoodCore.java   |    4 +-
 .../evomodel/newtreelikelihood/LikelihoodCore.java |    2 +-
 .../newtreelikelihood/LikelihoodCoreFactory.java   |   25 +
 .../newtreelikelihood/NativeLikelihoodCore.java    |   25 +
 .../OTFPCGeneralLikelihoodCore.java                |    4 +-
 .../ThreadedGPULikelihoodCore.java                 |   25 +
 .../evomodel/newtreelikelihood/TreeLikelihood.java |   10 +-
 .../VectorTreeLikelihoodParser.java                |   25 +
 .../AbstractImportanceDistributionOperator.java    |   10 +-
 .../evomodel/operators/AbstractTreeOperator.java   |   25 +
 .../operators/AlloppChangeNumHybridizations.java   |   25 +
 .../evomodel/operators/AlloppHybPopSizesScale.java |   25 +
 src/dr/evomodel/operators/AlloppMoveLegs.java      |   25 +
 .../evomodel/operators/AlloppNetworkNodeSlide.java |   25 +
 .../operators/AlloppSequenceReassignment.java      |   25 +
 .../BitFlipInSubstitutionModelOperator.java        |    4 +-
 .../CCPImportanceDistributionOperator.java         |   10 +-
 src/dr/evomodel/operators/CategoryOperator.java    |    2 +-
 .../operators/ColouredExchangeOperator.java        |    2 +-
 src/dr/evomodel/operators/ColouredOperator.java    |    2 +-
 .../operators/ColouredSubtreeSlideOperator.java    |    2 +-
 .../operators/DiscretizedLocationOperator.java     |    2 +-
 .../EmpiricalTreeDistributionOperator.java         |   25 +
 src/dr/evomodel/operators/ExchangeOperator.java    |    2 +-
 src/dr/evomodel/operators/FNPR.java                |   25 +
 .../evomodel/operators/FixedColouredOperator.java  |    2 +-
 .../operators/FunkyPriorMixerOperator.java         |   25 +
 .../evomodel/operators/GibbsPruneAndRegraft.java   |   25 +
 src/dr/evomodel/operators/GibbsSubtreeSwap.java    |   25 +
 .../operators/ImportanceNarrowExchange.java        |   25 +
 .../operators/ImportancePruneAndRegraft.java       |   10 +-
 .../evomodel/operators/ImportanceSubtreeSwap.java  |   10 +-
 .../evomodel/operators/LatentLiabilityGibbs.java   |    2 +-
 src/dr/evomodel/operators/LinkageGroupSwap.java    |   25 +
 src/dr/evomodel/operators/MoveLinkageGroup.java    |   25 +
 src/dr/evomodel/operators/MulTreeNodeSlide.java    |   25 +
 .../operators/MulTreeSequenceReassignment.java     |   25 +
 src/dr/evomodel/operators/NNI.java                 |   25 +
 .../operators/NodeHeightScaleOperator.java         |   25 +
 .../operators/OldLatentLiabilityGibbsOperator.java |    2 +-
 src/dr/evomodel/operators/PopsIOTreeNodeSlide.java |   25 +
 .../operators/PrecisionMatrixGibbsOperator.java    |   39 +-
 .../operators/RLCNarrowExchangeOperator.java       |    4 +-
 .../operators/RandomWalkOnMapOperator.java         |    2 +-
 .../evomodel/operators/RateExchangeOperator.java   |    2 +-
 src/dr/evomodel/operators/RateSampleOperator.java  |   25 +
 src/dr/evomodel/operators/RateScaleOperator.java   |   25 +
 .../operators/RateVarianceScaleOperator.java       |   10 +-
 src/dr/evomodel/operators/SubtreeJumpOperator.java |  181 ++-
 .../evomodel/operators/SubtreeSlideOperator.java   |    2 +-
 .../evomodel/operators/TipStateSwapOperator.java   |   25 +
 .../evomodel/operators/TipTraitSwapOperator.java   |   25 +
 src/dr/evomodel/operators/TraitGibbsOperator.java  |    2 +-
 .../evomodel/operators/TraitRateGibbsOperator.java |    2 +-
 src/dr/evomodel/operators/TreeBitMoveOperator.java |   25 +
 .../operators/TreeBitRandomWalkOperator.java       |   25 +
 src/dr/evomodel/operators/TreeNodeSlide.java       |   25 +
 src/dr/evomodel/operators/TreeUniform.java         |    4 +-
 src/dr/evomodel/operators/WilsonBalding.java       |    2 +-
 src/dr/evomodel/simulator/Simulator.java           |    2 +-
 src/dr/evomodel/sitemodel/AlignmentScore.java      |    2 +-
 .../sitemodel/CategoryParameterStatistic.java      |    2 +-
 src/dr/evomodel/sitemodel/CategorySampleModel.java |    2 +-
 src/dr/evomodel/sitemodel/CategorySiteModel.java   |    2 +-
 src/dr/evomodel/sitemodel/DirichletSiteModel.java  |    3 +-
 .../evomodel/sitemodel/DiscretizedLociRates.java   |   25 +
 src/dr/evomodel/sitemodel/GammaSiteBMA.java        |   25 +
 src/dr/evomodel/sitemodel/GammaSiteModel.java      |    2 +-
 src/dr/evomodel/sitemodel/PairDistance.java        |    2 +-
 .../sitemodel/SampleQuantileLociRates.java         |   25 +
 .../sitemodel/SampleStateAndCategoryModel.java     |    2 +-
 src/dr/evomodel/sitemodel/SampleStateModel.java    |   10 +-
 src/dr/evomodel/sitemodel/ScoreMatrix.java         |    2 +-
 src/dr/evomodel/sitemodel/SiteModel.java           |    2 +-
 src/dr/evomodel/sitemodel/SiteRateModel.java       |    2 +-
 .../evomodel/speciation/AlloppDiploidHistory.java  |   25 +
 src/dr/evomodel/speciation/AlloppLeggedTree.java   |   25 +
 src/dr/evomodel/speciation/AlloppMSCoalescent.java |   25 +
 src/dr/evomodel/speciation/AlloppMulLabTree.java   |   25 +
 src/dr/evomodel/speciation/AlloppNetworkPrior.java |   25 +
 .../speciation/AlloppNetworkPriorModel.java        |   25 +
 src/dr/evomodel/speciation/AlloppNode.java         |   25 +
 .../speciation/AlloppNumHybsStatistic.java         |   25 +
 .../evomodel/speciation/AlloppSpeciesBindings.java |   25 +
 .../speciation/AlloppSpeciesNetworkModel.java      |   25 +
 src/dr/evomodel/speciation/BetaSplittingModel.java |    2 +-
 .../speciation/BirthDeathCollapseModel.java        |   25 +
 .../BirthDeathCollapseNClustersStatistic.java      |   25 +
 .../speciation/BirthDeathGernhard08Model.java      |   10 +-
 .../speciation/BirthDeathSerialSamplingModel.java  |   10 +-
 .../speciation/BirthDeathSerialSkylineModel.java   |   10 +-
 .../evomodel/speciation/BranchingLikelihood.java   |   10 +-
 src/dr/evomodel/speciation/BranchingModel.java     |    2 +-
 .../speciation/CalibrationLineagesIterator.java    |   25 +
 src/dr/evomodel/speciation/CalibrationPoints.java  |   25 +
 .../speciation/MaskableSpeciationModel.java        |   25 +
 .../ModelAveragingResearch/MAIndexResearch.java    |   25 +
 .../ModelAveragingResearch/MAIndexResearchLog.java |   25 +
 .../ModelAveragingIndexSpeciationLikelihood.java   |   25 +
 ...elAveragingIndexSpeciationLikelihoodParser.java |   25 +
 .../ModelAveragingSpeciationLikelihood.java        |   25 +
 src/dr/evomodel/speciation/MulMSCoalescent.java    |   25 +
 src/dr/evomodel/speciation/MulSpeciesBindings.java |   12 +-
 .../evomodel/speciation/MulSpeciesTreeModel.java   |   25 +
 .../evomodel/speciation/MulSpeciesTreePrior.java   |   25 +
 .../speciation/MultiSpeciesCoalescent.java         |   25 +
 src/dr/evomodel/speciation/PopsIOMSCoalescent.java |   25 +
 .../evomodel/speciation/PopsIOSpeciesBindings.java |   25 +
 .../speciation/PopsIOSpeciesTreeModel.java         |   25 +
 .../speciation/PopsIOSpeciesTreePrior.java         |   25 +
 .../evomodel/speciation/RandomLocalYuleModel.java  |   10 +-
 .../evomodel/speciation/SpeciationLikelihood.java  |   10 +-
 src/dr/evomodel/speciation/SpeciationModel.java    |   10 +-
 src/dr/evomodel/speciation/SpeciesBindings.java    |   10 +-
 src/dr/evomodel/speciation/SpeciesTreeBMPrior.java |   25 +
 src/dr/evomodel/speciation/SpeciesTreeModel.java   |   25 +
 .../speciation/SpeciesTreeSimplePrior.java         |   25 +
 .../speciation/TaxonRichnessBirthDeathModel.java   |   25 +
 .../speciation/UltrametricSpeciationModel.java     |   10 +-
 src/dr/evomodel/speciation/YuleModel.java          |   10 +-
 .../substmodel/AbstractAminoAcidModel.java         |    2 +-
 src/dr/evomodel/substmodel/AbstractCodonModel.java |    2 +-
 .../substmodel/AbstractCovarionDNAModel.java       |   25 +
 .../evomodel/substmodel/AbstractCovarionModel.java |   25 +
 .../substmodel/AbstractNucleotideModel.java        |    2 +-
 .../evomodel/substmodel/AbstractPCARateMatrix.java |   25 +
 .../substmodel/AbstractSubstitutionModel.java      |   10 +-
 src/dr/evomodel/substmodel/AminoAcidModelType.java |   12 +-
 .../substmodel/AsymmetricQuadraticModel.java       |   25 +
 .../evomodel/substmodel/BinaryCovarionModel.java   |    2 +-
 src/dr/evomodel/substmodel/Blosum62.java           |    2 +-
 src/dr/evomodel/substmodel/CPREV.java              |    2 +-
 .../substmodel/ComplexSubstitutionModel.java       |   25 +
 .../substmodel/CovarionFrequencyModel.java         |   25 +
 src/dr/evomodel/substmodel/CovarionGTR.java        |   25 +
 src/dr/evomodel/substmodel/CovarionHKY.java        |    2 +-
 src/dr/evomodel/substmodel/Dayhoff.java            |    2 +-
 .../substmodel/EmpiricalAminoAcidModel.java        |    2 +-
 .../evomodel/substmodel/EmpiricalCodonModel.java   |   25 +
 .../substmodel/EmpiricalCodonRateMatrix.java       |   25 +
 .../evomodel/substmodel/EmpiricalRateMatrix.java   |    2 +-
 src/dr/evomodel/substmodel/FLU.java                |   25 +
 src/dr/evomodel/substmodel/FrequencyModel.java     |    2 +-
 .../evomodel/substmodel/GLMSubstitutionModel.java  |   25 +
 src/dr/evomodel/substmodel/GTR.java                |    2 +-
 src/dr/evomodel/substmodel/GeneralF81Model.java    |   25 +
 .../substmodel/GeneralSubstitutionModel.java       |    2 +-
 src/dr/evomodel/substmodel/HKY.java                |    2 +-
 src/dr/evomodel/substmodel/JTT.java                |    2 +-
 src/dr/evomodel/substmodel/LG.java                 |    2 +-
 src/dr/evomodel/substmodel/LinearBiasModel.java    |   25 +
 src/dr/evomodel/substmodel/MTREV.java              |    2 +-
 .../substmodel/MarginalVarianceStatistic.java      |   25 +
 .../evomodel/substmodel/MicrosatelliteModel.java   |   25 +
 src/dr/evomodel/substmodel/MsatBMA.java            |   25 +
 .../evomodel/substmodel/MultivariateOUModel.java   |   25 +
 src/dr/evomodel/substmodel/MutationDeathModel.java |   25 +
 .../substmodel/NewMicrosatelliteModel.java         |   25 +
 src/dr/evomodel/substmodel/NtdBMA.java             |   25 +
 src/dr/evomodel/substmodel/NucModelType.java       |   12 +-
 src/dr/evomodel/substmodel/OnePhaseModel.java      |   25 +
 src/dr/evomodel/substmodel/PCACodonModel.java      |   25 +
 .../evomodel/substmodel/PCARateMatrixMammalia.java |   25 +
 .../PositiveDefiniteSubstitutionModel.java         |   25 +
 src/dr/evomodel/substmodel/PseudoCodonModel.java   |    2 +-
 .../substmodel/SVSComplexSubstitutionModel.java    |   25 +
 .../substmodel/SVSGeneralSubstitutionModel.java    |   25 +
 .../substmodel/SubstitutionEpochModel.java         |   10 +-
 src/dr/evomodel/substmodel/SubstitutionModel.java  |    2 +-
 .../substmodel/SubstitutionModelUtils.java         |   25 +
 src/dr/evomodel/substmodel/TN93.java               |    2 +-
 src/dr/evomodel/substmodel/TwoPhaseModel.java      |   25 +
 .../evomodel/substmodel/TwoStateCovarionModel.java |    2 +-
 src/dr/evomodel/substmodel/WAG.java                |    2 +-
 src/dr/evomodel/substmodel/YangCodonModel.java     |    2 +-
 .../HierarchicalTransmissionDemographicModel.java  |    2 +-
 .../transmission/TransmissionDemographicModel.java |    2 +-
 .../transmission/TransmissionHistoryModel.java     |   10 +-
 .../transmission/TransmissionLikelihood.java       |    2 +-
 .../transmission/TransmissionSimulator.java        |    2 +-
 .../transmission/TransmissionStatistic.java        |    2 +-
 .../tree/AbstractCladeImportanceDistribution.java  |   10 +-
 .../evomodel/tree/AbstractTreeParameterModel.java  |    2 +-
 src/dr/evomodel/tree/AncestralTrait.java           |    4 +-
 src/dr/evomodel/tree/BackboneNodeFilter.java       |   25 +
 src/dr/evomodel/tree/CompatibilityStatistic.java   |    4 +-
 .../evomodel/tree/ConditionalCladeFrequency.java   |   10 +-
 src/dr/evomodel/tree/Convergence.java              |   25 +
 src/dr/evomodel/tree/ConvergenceListener.java      |   25 +
 src/dr/evomodel/tree/ConvergenceLogger.java        |   25 +
 .../tree/EmpiricalTreeDistributionModel.java       |   39 +-
 src/dr/evomodel/tree/ExternalLengthStatistic.java  |    4 +-
 src/dr/evomodel/tree/HiddenLinkageLogger.java      |   25 +
 src/dr/evomodel/tree/HiddenLinkageModel.java       |   25 +
 src/dr/evomodel/tree/HiddenLinkageTreeLogger.java  |   25 +
 src/dr/evomodel/tree/MRCATraitStatistic.java       |    4 +-
 .../tree/MicrosatelliteSamplerTreeModel.java       |   25 +
 src/dr/evomodel/tree/MonophylyStatistic.java       |    2 +-
 .../tree/MultivariateTreeParameterModel.java       |    2 +-
 src/dr/evomodel/tree/NewTreeParameterModel.java    |    2 +-
 src/dr/evomodel/tree/NodeHeightsStatistic.java     |    4 +-
 src/dr/evomodel/tree/NodeTraitLogger.java          |   25 +
 src/dr/evomodel/tree/ParsimonyStateStatistic.java  |    2 +-
 src/dr/evomodel/tree/ParsimonyStatistic.java       |    2 +-
 .../tree/ProgressiveScalarTreeTransform.java       |    2 +-
 src/dr/evomodel/tree/RateCovarianceStatistic.java  |    2 +-
 src/dr/evomodel/tree/RateStatistic.java            |    2 +-
 .../evomodel/tree/SingleScalarTreeTransform.java   |    2 +-
 .../tree/SlicedMultivariateTreeParameterModel.java |    2 +-
 src/dr/evomodel/tree/SpeciesTreeStatistic.java     |    2 +-
 src/dr/evomodel/tree/StarTreeModel.java            |    2 +-
 src/dr/evomodel/tree/TMRCAStatistic.java           |    2 +-
 src/dr/evomodel/tree/TipHeightLikelihood.java      |    2 +-
 src/dr/evomodel/tree/TransformedTreeModel.java     |    2 +-
 src/dr/evomodel/tree/TreeHeightStatistic.java      |   25 +
 src/dr/evomodel/tree/TreeLengthStatistic.java      |    4 +-
 src/dr/evomodel/tree/TreeLogger.java               |    2 +-
 src/dr/evomodel/tree/TreeMetricStatistic.java      |    2 +-
 src/dr/evomodel/tree/TreeModel.java                |   16 +-
 src/dr/evomodel/tree/TreeParameterModel.java       |    2 +-
 src/dr/evomodel/tree/TreeShapeStatistic.java       |    2 +-
 src/dr/evomodel/tree/TreeSpaceLogger.java          |   25 +
 src/dr/evomodel/tree/TreeStatistic.java            |    2 +-
 src/dr/evomodel/tree/TreeSummary.java              |   25 +
 src/dr/evomodel/tree/TreeTraceAnalysis.java        |   10 +-
 src/dr/evomodel/tree/TreeTransform.java            |    2 +-
 src/dr/evomodel/tree/TrialTreeParameterModel.java  |    2 +-
 src/dr/evomodel/tree/UniformNodeHeightPrior.java   |   10 +-
 src/dr/evomodel/tree/WanderingTaxonLogger.java     |   25 +
 .../tree/WeightedMultiplicativeBinary.java         |   10 +-
 .../tree/randomlocalmodel/RLTVAnalyzer.java        |   25 +
 .../evomodel/tree/randomlocalmodel/RLTVLogger.java |   25 +
 .../tree/randomlocalmodel/RLTVLoggerOnTree.java    |   25 +
 .../randomlocalmodel/RandomLocalTreeVariable.java  |   25 +
 .../treelikelihood/AbstractLikelihoodCore.java     |    2 +-
 .../treelikelihood/AbstractTreeLikelihood.java     |   10 +-
 .../treelikelihood/AdvancedTreeLikelihood.java     |    2 +-
 .../treelikelihood/AminoAcidLikelihoodCore.java    |    2 +-
 .../AncestralStateTreeLikelihood.java              |   25 +
 .../ArbitraryPrecisionLikelihoodCore.java          |    2 +-
 .../EpochTreeBranchSubstitutionModel.java          |   25 +
 .../treelikelihood/EpochTreeLikelihood.java        |   25 +
 .../treelikelihood/GeneralLikelihoodCore.java      |    2 +-
 .../treelikelihood/HiddenLinkageLikelihood.java    |   25 +
 .../treelikelihood/HypermutantErrorModel.java      |   25 +
 src/dr/evomodel/treelikelihood/LikelihoodCore.java |    2 +-
 .../treelikelihood/LikelihoodPartialsProvider.java |    2 +-
 .../treelikelihood/LikelihoodScalingProvider.java  |    2 +-
 .../MicrosatelliteSamplerTreeLikelihood.java       |   25 +
 .../NativeAminoAcidLikelihoodCore.java             |   25 +
 .../NativeCovarionLikelihoodCore.java              |   25 +
 .../NativeGeneralLikelihoodCore.java               |   25 +
 .../NativeNucleotideLikelihoodCore.java            |    2 +-
 .../NodePosteriorTreeLikelihood.java               |   25 +
 .../treelikelihood/NucleotideLikelihoodCore.java   |    2 +-
 .../PrecisionTestTreeLikelihood.java               |    4 +-
 .../PurifyingGammaTreeLikelihood.java              |   10 +-
 .../treelikelihood/PurifyingTreeLikelihood.java    |    2 +-
 .../treelikelihood/ScaleFactorsHelper.java         |    2 +-
 .../treelikelihood/SequenceErrorModel.java         |   25 +
 src/dr/evomodel/treelikelihood/TipStatesModel.java |   12 +-
 .../TreeBranchSubstitutionModel.java               |   10 +-
 src/dr/evomodel/treelikelihood/TreeLikelihood.java |    2 +-
 src/dr/evomodelxml/CSVExporterParser.java          |   12 +-
 .../ConditionalCladeFrequencyParser.java           |   10 +-
 .../EmpiricalTreeDistributionModelParser.java      |   16 +-
 .../EmpiricalTreeDistributionOperatorParser.java   |   12 +-
 src/dr/evomodelxml/MSSD/ALSSiteModelParser.java    |   25 +
 .../evomodelxml/MSSD/ALSTreeLikelihoodParser.java  |    2 +-
 .../MSSD/AnyTipObservationProcessParser.java       |   25 +
 src/dr/evomodelxml/MSSD/CTMCScalePriorParser.java  |    2 +-
 .../ExponentialBranchLengthTreePriorParser.java    |   25 +
 .../MSSD/SingleTipObservationProcessParser.java    |   25 +
 src/dr/evomodelxml/TreeTraceAnalysisParser.java    |    2 +-
 src/dr/evomodelxml/TreeWorkingPriorParsers.java    |   31 +-
 src/dr/evomodelxml/WanderingTaxonLoggerParser.java |   25 +
 .../ArbitraryBranchRatesParser.java                |    2 +-
 .../AttributeBranchRateModelParser.java            |    4 +-
 .../branchratemodel/BranchCategoriesParser.java    |    4 +-
 .../CompoundBranchRateModelParser.java             |   25 +
 .../ContinuousBranchRatesParser.java               |   25 +
 .../ContinuousTraitBranchRateModelParser.java      |   25 +
 .../CountableMixtureBranchRatesParser.java         |    2 +-
 .../DiscreteTraitBranchRateModelParser.java        |   25 +
 .../DiscretizedBranchRatesParser.java              |    2 +-
 .../branchratemodel/FixedDriftModelParser.java     |   25 +
 .../LatentStateBranchRateModelParser.java          |    2 +-
 .../branchratemodel/LocalClockModelParser.java     |   25 +
 .../MixtureModelBranchRatesParser.java             |   25 +
 .../RandomDiscretizedBranchRatesParser.java        |   25 +
 .../RandomLocalClockModelParser.java               |   25 +
 .../RateEpochBranchRateModelParser.java            |   25 +
 .../branchratemodel/RelaxedDriftModelParser.java   |   25 +
 .../ScaledTreeLengthRateModelParser.java           |    2 +-
 .../StrictClockBranchRatesParser.java              |   25 +
 src/dr/evomodelxml/clock/ACLikelihoodParser.java   |   25 +
 src/dr/evomodelxml/clock/UCLikelihoodParser.java   |   25 +
 .../coalescent/AsymptoticGrowthModelParser.java    |   92 ++
 .../coalescent/BMPriorLikelihoodParser.java        |   25 +
 .../BayesianSkylineLikelihoodParser.java           |   25 +
 .../BayesianSkylinePopSizeStatisticParser.java     |   25 +
 .../CataclysmicDemographicModelParser.java         |   25 +
 .../CoalescentEventsStatisticParser.java           |   24 +-
 .../CoalescentIntervalStatisticParser.java         |    2 +-
 .../coalescent/CoalescentLikelihoodParser.java     |   25 +
 .../coalescent/CoalescentSimulatorParser.java      |   25 +
 .../CoalescentTreeIntervalStatisticParser.java     |    2 +-
 .../coalescent/ConstExpConstModelParser.java       |   25 +
 .../coalescent/ConstantExponentialModelParser.java |   25 +
 .../coalescent/ConstantLogisticModelParser.java    |   25 +
 .../coalescent/ConstantPopulationModelParser.java  |   25 +
 .../evomodelxml/coalescent/EBSPAnalysisParser.java |   25 +
 .../coalescent/EmergingEpidemicModelParser.java    |   25 +
 .../coalescent/EmpiricalPiecewiseModelParser.java  |   25 +
 .../ExpConstExpDemographicModelParser.java         |   25 +
 .../coalescent/ExpansionModelParser.java           |   25 +
 .../coalescent/ExponentialConstantModelParser.java |   25 +
 .../ExponentialExponentialModelParser.java         |   25 +
 .../coalescent/ExponentialGrowthModelParser.java   |   25 +
 .../coalescent/ExponentialLogisticModelParser.java |   25 +
 .../coalescent/ExponentialSawtoothModelParser.java |   25 +
 .../GMRFBivariateCurveAnalysisParser.java          |   25 +
 .../GMRFIntervalHeightsStatisticParser.java        |   25 +
 .../coalescent/GMRFPopSizeStatisticParser.java     |   25 +
 .../coalescent/GMRFSkyrideLikelihoodParser.java    |    2 +-
 .../coalescent/GMRFTestLikelihoodParser.java       |   25 +
 .../coalescent/GPSkytrackAnalysisParser.java       |   25 +
 .../GaussianProcessSkytrackLikelihoodParser.java   |    2 +-
 .../coalescent/LineageCountStatisticParser.java    |   25 +
 .../coalescent/LinearGrowthModelParser.java        |   80 ++
 .../coalescent/LogisticGrowthModelParser.java      |   25 +
 .../coalescent/OldCoalescentSimulatorParser.java   |   25 +
 .../OrnsteinUhlenbeckPriorLikelihoodParser.java    |   25 +
 .../coalescent/PeakAndDeclineModelParser.java      |   99 ++
 .../coalescent/PiecewisePopulationModelParser.java |   25 +
 .../coalescent/PopulationSizeGraphParser.java      |   25 +
 .../coalescent/PowerLawGrowthModelParser.java      |   92 ++
 .../coalescent/ScaledPiecewiseModelParser.java     |   25 +
 .../coalescent/TwoEpochDemographicModelParser.java |   25 +
 .../coalescent/VariableDemographicModelParser.java |   25 +
 .../VariableSkylineLikelihoodParser.java           |   25 +
 .../BayesianSkylineGibbsOperatorParser.java        |   25 +
 .../GMRFSkyrideBlockUpdateOperatorParser.java      |    2 +-
 ...GMRFSkyrideFixedEffectsGibbsOperatorParser.java |   25 +
 ...anProcessSkytrackBlockUpdateOperatorParser.java |   25 +
 .../GaussianProcessSkytrackTreeOperatorParser.java |   25 +
 .../SampleNonActiveGibbsOperatorParser.java        |   25 +
 .../continuous/BuildCompoundSymmetricMatrix.java   |   25 +
 .../continuous/DataFromTreeTipsParser.java         |    2 +-
 .../continuous/GaussianProcessFromTreeParser.java  |   25 +
 .../continuous/LeafTraitExtractorParser.java       |    2 +-
 src/dr/evomodelxml/indel/IstvanOperatorParser.java |   25 +
 .../evomodelxml/indel/TKF91LikelihoodParser.java   |   25 +
 src/dr/evomodelxml/indel/TKF91ModelParser.java     |   25 +
 .../AlloppChangeNumHybridizationsParser.java       |   25 +
 .../operators/AlloppHybPopSizesScaleParser.java    |   25 +
 .../operators/AlloppMoveLegsParser.java            |   25 +
 .../operators/AlloppNetworkNodeSlideParser.java    |   25 +
 .../AlloppSequenceReassignmentParser.java          |   25 +
 .../operators/ExchangeOperatorParser.java          |   10 +-
 src/dr/evomodelxml/operators/FNPRParser.java       |   25 +
 .../operators/FunkyPriorMixerOperatorParser.java   |   25 +
 .../operators/GibbsPruneAndRegraftParser.java      |   25 +
 .../operators/GibbsSubtreeSwapParser.java          |   25 +
 .../operators/ImportanceNarrowExchangeParser.java  |   25 +
 .../operators/ImportancePruneAndRegraftParser.java |   25 +
 .../operators/ImportanceSubtreeSwapParser.java     |   25 +
 .../operators/MoveLinkageGroupParser.java          |   25 +
 .../operators/MulTreeNodeSlideParser.java          |   25 +
 .../MulTreeSequenceReassignmentParser.java         |   25 +
 src/dr/evomodelxml/operators/NNIParser.java        |   25 +
 .../operators/PopsIOTreeNodeSlideParser.java       |   25 +
 .../operators/RateExchangeOperatorParser.java      |   25 +
 .../operators/RateSampleOperatorParser.java        |   25 +
 .../operators/RateScaleOperatorParser.java         |   25 +
 .../operators/RateVarianceScaleOperatorParser.java |   25 +
 .../operators/SubtreeJumpOperatorParser.java       |   53 +-
 .../operators/SubtreeSlideOperatorParser.java      |   25 +
 .../operators/TreeBitMoveOperatorParser.java       |   25 +
 .../operators/TreeBitRandomWalkOperatorParser.java |   25 +
 .../evomodelxml/operators/TreeNodeSlideParser.java |   25 +
 .../evomodelxml/operators/TreeUniformParser.java   |   25 +
 .../evomodelxml/operators/WilsonBaldingParser.java |   25 +
 .../sitemodel/CategorySiteModelParser.java         |   25 +
 .../sitemodel/DiscretizedLociRatesParser.java      |   25 +
 .../evomodelxml/sitemodel/GammaSiteBMAParser.java  |   25 +
 .../sitemodel/GammaSiteModelParser.java            |   25 +
 .../sitemodel/SampleQuantileLociRatesParser.java   |   25 +
 .../SampleStateAndCategoryModelParser.java         |   25 +
 .../sitemodel/SampleStateModelParser.java          |   25 +
 .../speciation/AlloppMSCoalescentParser.java       |   25 +
 .../speciation/AlloppNetworkPriorModelParser.java  |   25 +
 .../speciation/AlloppNetworkPriorParser.java       |   25 +
 .../speciation/AlloppNumHybsStatisticParser.java   |   25 +
 .../AlloppSpeciesBindingsApSpInfoParser.java       |   25 +
 .../AlloppSpeciesBindingsIndividualParser.java     |   25 +
 .../speciation/AlloppSpeciesBindingsParser.java    |   25 +
 .../AlloppSpeciesNetworkModelParser.java           |   25 +
 .../speciation/BetaSplittingModelParser.java       |   25 +
 .../speciation/BirthDeathCollapseModelParser.java  |   25 +
 ...BirthDeathCollapseNClustersStatisticParser.java |   25 +
 .../BirthDeathEpidemiologyModelParser.java         |   24 +-
 .../speciation/BirthDeathModelParser.java          |   10 +-
 .../BirthDeathSerialSamplingModelParser.java       |   10 +-
 .../BirthDeathSerialSkylineModelParser.java        |   10 +-
 .../speciation/BranchingLikelihoodParser.java      |   25 +
 .../ModelAveragingSpeciationLikelihoodParser.java  |   25 +
 .../speciation/MulMSCoalescentParser.java          |   25 +
 .../speciation/MulSpeciesBindingsParser.java       |   25 +
 .../speciation/MulSpeciesTreeModelParser.java      |   25 +
 .../speciation/MulSpeciesTreePriorParser.java      |   25 +
 .../speciation/MultiSpeciesCoalescentParser.java   |   25 +
 .../speciation/PopsIOMSCoalescentParser.java       |   25 +
 .../speciation/PopsIOSpeciesBindingsParser.java    |   25 +
 .../PopsIOSpeciesBindingsSpInfoParser.java         |   25 +
 .../speciation/PopsIOSpeciesTreeModelParser.java   |   25 +
 .../speciation/PopsIOSpeciesTreePriorParser.java   |   25 +
 .../evomodelxml/speciation/RLTVLoggerParser.java   |   25 +
 .../speciation/RandomLocalYuleModelParser.java     |   25 +
 .../speciation/SpeciationLikelihoodParser.java     |   25 +
 .../speciation/SpeciesBindingsParser.java          |   25 +
 .../speciation/SpeciesBindingsSPinfoParser.java    |   25 +
 .../speciation/SpeciesTreeBMPriorParser.java       |   25 +
 .../speciation/SpeciesTreeModelParser.java         |   25 +
 .../speciation/SpeciesTreeSimplePriorParser.java   |   25 +
 .../TaxonRichnessBirthDeathModelParser.java        |   25 +
 src/dr/evomodelxml/speciation/YuleModelParser.java |   10 +-
 .../substmodel/AsymQuadModelParser.java            |   25 +
 .../substmodel/BinaryCovarionModelParser.java      |    2 +-
 .../substmodel/BinarySubstitutionModelParser.java  |   25 +
 .../substmodel/ComplexSubstitutionModelParser.java |   25 +
 .../evomodelxml/substmodel/CovarionGTRParser.java  |   25 +
 .../evomodelxml/substmodel/CovarionHKYParser.java  |   25 +
 .../substmodel/EmpiricalAminoAcidModelParser.java  |   25 +
 .../substmodel/EmpiricalCodonModelParser.java      |   25 +
 .../substmodel/FrequencyModelParser.java           |   25 +
 .../substmodel/GLMSubstitutionModelParser.java     |   25 +
 src/dr/evomodelxml/substmodel/GTRParser.java       |   25 +
 .../substmodel/GeneralF81ModelParser.java          |   25 +
 .../substmodel/GeneralSubstitutionModelParser.java |   25 +
 src/dr/evomodelxml/substmodel/HKYParser.java       |   25 +
 .../substmodel/LewisMkSubstitutionModelParser.java |   25 +
 .../substmodel/LinearBiasModelParser.java          |   25 +
 src/dr/evomodelxml/substmodel/MkModelParser.java   |   10 +-
 src/dr/evomodelxml/substmodel/MsatBMAParser.java   |   25 +
 .../substmodel/MultivariateOUModelParser.java      |   25 +
 .../substmodel/MutationDeathModelParser.java       |    2 +-
 .../substmodel/NewMicrosatelliteModelParser.java   |   25 +
 src/dr/evomodelxml/substmodel/NtdBMAParser.java    |   25 +
 .../substmodel/PCACodonModelParser.java            |   25 +
 .../PositiveDefiniteSubstitutionModelParser.java   |   25 +
 .../substmodel/SubstitutionEpochModelParser.java   |   25 +
 src/dr/evomodelxml/substmodel/TN93Parser.java      |   25 +
 .../substmodel/TwoPhaseModelParser.java            |   25 +
 .../substmodel/TwoStateCovarionModelParser.java    |   25 +
 .../substmodel/YangCodonModelParser.java           |   25 +
 src/dr/evomodelxml/tree/AncestralTraitParser.java  |   25 +
 .../tree/CompatibilityStatisticParser.java         |   25 +
 .../tree/ExternalLengthStatisticParser.java        |   25 +
 .../tree/HiddenLinkageLoggerParser.java            |   25 +
 .../evomodelxml/tree/HiddenLinkageModelParser.java |   25 +
 .../tree/HiddenLinkageTreeLoggerParser.java        |   25 +
 .../evomodelxml/tree/MRCATraitStatisticParser.java |   25 +
 .../tree/MicrosatelliteSamplerTreeModelParser.java |   25 +
 .../evomodelxml/tree/MonophylyStatisticParser.java |   25 +
 .../tree/NodeHeightsStatisticParser.java           |   25 +
 .../tree/ParsimonyStateStatisticParser.java        |   25 +
 .../evomodelxml/tree/ParsimonyStatisticParser.java |   25 +
 .../evomodelxml/tree/RLTVLoggerOnTreeParser.java   |   25 +
 .../tree/RateCovarianceStatisticParser.java        |   25 +
 src/dr/evomodelxml/tree/RateStatisticParser.java   |   25 +
 .../tree/SpeciesTreeStatisticParser.java           |   25 +
 src/dr/evomodelxml/tree/StarTreeModelParser.java   |    2 +-
 src/dr/evomodelxml/tree/TMRCAStatisticParser.java  |   25 +
 .../tree/TipHeightLikelihoodParser.java            |   25 +
 .../tree/TransformedTreeModelParser.java           |    2 +-
 .../tree/TreeHeightStatisticParser.java            |   25 +
 .../tree/TreeLengthStatisticParser.java            |   25 +
 src/dr/evomodelxml/tree/TreeLoggerParser.java      |   25 +
 .../tree/TreeMetricStatisticParser.java            |   25 +
 src/dr/evomodelxml/tree/TreeModelParser.java       |   10 +-
 .../evomodelxml/tree/TreeShapeStatisticParser.java |   25 +
 .../tree/UniformNodeHeightPriorParser.java         |   25 +
 .../AncestralStateTreeLikelihoodParser.java        |   27 +-
 .../HiddenLinkageLikelihoodParser.java             |   25 +
 .../MarkovJumpsTreeLikelihoodParser.java           |   27 +-
 .../MicrosatelliteSamplerTreeLikelihoodParser.java |   25 +
 .../treelikelihood/SequenceErrorModelParser.java   |   25 +
 .../treelikelihood/TreeLikelihoodParser.java       |   25 +
 .../treelikelihood/TreeTraitParserUtilities.java   |   30 +-
 src/dr/evoxml/AlignmentParser.java                 |    2 +-
 src/dr/evoxml/AscertainedSitePatternsParser.java   |   25 +
 src/dr/evoxml/AttributePatternsParser.java         |    4 +-
 .../evoxml/BifractionalDiffusionModelParser.java   |   25 +
 src/dr/evoxml/CompositeDataTypeParser.java         |    4 +-
 src/dr/evoxml/ConstantPatternsParser.java          |    4 +-
 src/dr/evoxml/ConvertAlignmentParser.java          |    2 +-
 src/dr/evoxml/DateParser.java                      |   10 +-
 src/dr/evoxml/DistanceMatrixParser.java            |    2 +-
 src/dr/evoxml/GeneralDataTypeParser.java           |    2 +-
 src/dr/evoxml/HiddenNucleotideParser.java          |   25 +
 src/dr/evoxml/HypermutantAlignmentParser.java      |    4 +-
 src/dr/evoxml/KStateDataTypeParser.java            |   10 +-
 src/dr/evoxml/LineageCountThroughTimeParser.java   |   10 +-
 src/dr/evoxml/LinkageConstraintsParser.java        |   25 +
 src/dr/evoxml/LinkedGroupParser.java               |   25 +
 src/dr/evoxml/LocationParser.java                  |    4 +-
 src/dr/evoxml/MaskedPatternsParser.java            |    4 +-
 src/dr/evoxml/MergePatternsParser.java             |    2 +-
 src/dr/evoxml/MetagenomeDataParser.java            |   25 +
 src/dr/evoxml/MicrosatelliteParser.java            |   25 +
 src/dr/evoxml/MicrosatellitePatternParser.java     |   25 +
 src/dr/evoxml/MicrosatelliteSimulatorParser.java   |   25 +
 src/dr/evoxml/MsatPatternStatisticParser.java      |   25 +
 src/dr/evoxml/MultiLociDistanceParser.java         |   25 +
 src/dr/evoxml/MutationDeathTypeParser.java         |   25 +
 src/dr/evoxml/NeighborJoiningParser.java           |    2 +-
 src/dr/evoxml/NewickParser.java                    |   73 +-
 src/dr/evoxml/PatternSubSetParser.java             |    4 +-
 src/dr/evoxml/PearsonCorrelationParser.java        |   25 +
 src/dr/evoxml/PolarCoordinatesParser.java          |    2 +-
 src/dr/evoxml/RandomSubsetTaxaParser.java          |   25 +
 src/dr/evoxml/RandomTaxaSampleParser.java          |   25 +
 src/dr/evoxml/RescaledTreeParser.java              |    2 +-
 src/dr/evoxml/SequenceParser.java                  |    2 +-
 src/dr/evoxml/SimpleNodeParser.java                |    2 +-
 src/dr/evoxml/SimpleTreeParser.java                |   10 +-
 src/dr/evoxml/SitePatternsParser.java              |    2 +-
 src/dr/evoxml/TaxaParser.java                      |    2 +-
 src/dr/evoxml/TaxonParser.java                     |   10 +-
 src/dr/evoxml/UPGMATreeParser.java                 |    2 +-
 src/dr/evoxml/util/DataTypeUtils.java              |   25 +
 src/dr/evoxml/util/DateUnitsType.java              |   12 +-
 src/dr/evoxml/util/GraphMLUtils.java               |   25 +
 src/dr/evoxml/util/XMLUnits.java                   |   10 +-
 src/dr/geo/BrownianBridge1D.java                   |   25 +
 src/dr/geo/GTOPO30Browser.java                     |   10 +-
 src/dr/geo/GTOPO30Panel.java                       |   10 +-
 src/dr/geo/GTOPO30RandomWalk.java                  |   25 +
 src/dr/geo/GTOPO30Tile.java                        |   25 +
 src/dr/geo/GeoSpatialCollectionModel.java          |   10 +-
 src/dr/geo/GeoSpatialDistribution.java             |    2 +-
 src/dr/geo/GreatCircleDistances.java               |   25 +
 src/dr/geo/InhomogeneousRandomWalk.java            |   25 +
 src/dr/geo/IslandLattice.java                      |   25 +
 src/dr/geo/KMLCoordinates.java                     |   25 +
 src/dr/geo/KMLRenderer.java                        |   25 +
 src/dr/geo/KMLViewer.java                          |   12 +-
 src/dr/geo/KernelDensityEstimator2D.java           |   25 +
 src/dr/geo/Lattice.java                            |   25 +
 src/dr/geo/Location.java                           |   25 +
 src/dr/geo/MultiRegionGeoSpatialDistribution.java  |    2 +-
 src/dr/geo/MultivariateBrownianBridge.java         |   10 +-
 src/dr/geo/NewPolygon2D.java                       |   10 +-
 src/dr/geo/NumericalSpaceTimeProbs2D.java          |   10 +-
 src/dr/geo/Polygon.java                            |   25 +
 src/dr/geo/Polygon2D.java                          |   25 +
 src/dr/geo/RateMatrix.java                         |   25 +
 src/dr/geo/Reject.java                             |   25 +
 src/dr/geo/SpaceTime.java                          |   10 +-
 src/dr/geo/SpaceTimeRejector.java                  |   10 +-
 src/dr/geo/SpaceTimeRejector1D.java                |   25 +
 src/dr/geo/SpaceTimeSimulator.java                 |   10 +-
 src/dr/geo/ViewTransform.java                      |   25 +
 src/dr/geo/VisualizeBrownianBridge2D.java          |   10 +-
 src/dr/geo/VisualizeKMLBrownianBridge.java         |   10 +-
 src/dr/geo/VisualizeKMLJointProb.java              |   10 +-
 src/dr/geo/VisualizeKMLNumericalProbs.java         |   10 +-
 src/dr/geo/VisualizeSpaceTimeSim2D.java            |   10 +-
 src/dr/geo/cartogram/CartogramMapping.java         |   10 +-
 src/dr/geo/color/ChannelColorScheme.java           |    2 +-
 src/dr/geo/color/ColorScheme.java                  |    2 +-
 src/dr/geo/contouring/ContourAttrib.java           |   25 +
 src/dr/geo/contouring/ContourGenerator.java        |   25 +
 src/dr/geo/contouring/ContourMaker.java            |   25 +
 src/dr/geo/contouring/ContourMode.java             |   25 +
 src/dr/geo/contouring/ContourPath.java             |   25 +
 src/dr/geo/contouring/ContourWithR.java            |   25 +
 src/dr/geo/contouring/ContourWithSynder.java       |   25 +
 src/dr/geo/contouring/SnyderContour.java           |   25 +
 .../FisherBinghamKentDistribution.java             |   25 +
 .../geo/distributions/HyperSphereDistribution.java |   25 +
 src/dr/geo/distributions/VonMisesDistribution.java |   25 +
 .../distributions/VonMisesFisherDistribution.java  |   25 +
 src/dr/geo/math/Space.java                         |   25 +
 src/dr/geo/math/SphericalPolarCoordinates.java     |    2 +-
 src/dr/geo/math/Vector3D.java                      |    2 +-
 .../geo/operators/UniformGeoSpatialOperator.java   |    2 +-
 .../operators/UniformGeoSpatialOperatorParser.java |    2 +-
 src/dr/geo/testGreatCircleDistances.xml            |   25 +
 src/dr/geo/testLocations.xml                       |   25 +
 .../AbstractDistributionLikelihood.java            |    2 +-
 .../distribution/BetaDistributionModel.java        |    2 +-
 .../inference/distribution/BinomialLikelihood.java |   48 +-
 .../distribution/CachedDistributionLikelihood.java |   25 +
 .../distribution/ConditionalCladeProbability.java  |   25 +
 .../distribution/DirichletProcessLikelihood.java   |   10 +-
 .../distribution/DistributionLikelihood.java       |   18 +-
 .../EmpiricalDistributionLikelihood.java           |    2 +-
 .../distribution/ExponentialDistributionModel.java |   10 +-
 .../distribution/ExponentialMarkovModel.java       |   10 +-
 .../distribution/GammaDistributionModel.java       |   10 +-
 .../distribution/GeneralizedLinearModel.java       |    2 +-
 .../distribution/HierarchicalGraphLikelihood.java  |   25 +
 .../InverseGammaDistributionModel.java             |   12 +-
 .../InverseGaussianDistributionModel.java          |   25 +-
 .../inference/distribution/LinearRegression.java   |   25 +
 .../distribution/LocationScaleJeffreysPrior.java   |    2 +-
 src/dr/inference/distribution/LogLinearModel.java  |   25 +
 .../distribution/LogNormalDistributionModel.java   |    2 +-
 .../inference/distribution/LogisticRegression.java |   25 +
 .../distribution/MixedDistributionLikelihood.java  |   25 +
 .../ModelSpecificPseudoPriorLikelihood.java        |   25 +
 .../distribution/MomentDistributionModel.java      |  203 ++++
 .../MultivariateDistributionLikelihood.java        |    2 +-
 .../MultivariateNormalDistributionModel.java       |   12 +-
 .../distribution/NormalDistributionModel.java      |    2 +-
 .../distribution/ParametricDistributionModel.java  |    2 +-
 .../ParametricMultivariateDistributionModel.java   |    2 +-
 src/dr/inference/distribution/RandomWalkModel.java |   25 +
 .../distribution/SkewNormalDistributionModel.java  |    2 +-
 .../distribution/SplineInterpolatedLikelihood.java |   10 +-
 .../inference/distribution/TDistributionModel.java |    2 +-
 .../TruncatedNormalDistributionModel.java          |   25 +
 .../TwoPartsDistributionLikelihood.java            |   25 +
 .../TwoPieceLocationScaleDistributionModel.java    |    2 +-
 .../distribution/UniformDistributionModel.java     |    2 +-
 .../WishartGammalDistributionModel.java            |    2 +-
 src/dr/inference/loggers/ArrayLogFormatter.java    |   25 +
 src/dr/inference/loggers/BooleanColumn.java        |   25 +
 src/dr/inference/loggers/Columns.java              |    2 +-
 src/dr/inference/loggers/LogColumn.java            |    2 +-
 src/dr/inference/loggers/LogFormatter.java         |    2 +-
 src/dr/inference/loggers/Loggable.java             |    2 +-
 src/dr/inference/loggers/Logger.java               |    2 +-
 src/dr/inference/loggers/MCLogger.java             |    2 +-
 src/dr/inference/loggers/MLLogger.java             |    2 +-
 src/dr/inference/loggers/MatrixEntryColumn.java    |   25 +
 src/dr/inference/loggers/NumberColumn.java         |    2 +-
 src/dr/inference/loggers/PercentColumn.java        |   25 +
 .../inference/loggers/TabDelimitedFormatter.java   |    2 +-
 src/dr/inference/markovchain/Acceptor.java         |    2 +-
 src/dr/inference/markovchain/MarkovChain.java      |   15 +-
 .../inference/markovchain/MarkovChainDelegate.java |    4 +-
 .../inference/markovchain/MarkovChainListener.java |    2 +-
 src/dr/inference/markovchain/Profiler.java         |    2 +-
 src/dr/inference/markovjumps/MarkovJumpsCore.java  |   25 +
 .../markovjumps/MarkovJumpsRegisterAcceptor.java   |   25 +
 src/dr/inference/markovjumps/MarkovJumpsType.java  |   25 +
 src/dr/inference/markovjumps/MarkovReward.java     |    2 +-
 .../markovjumps/SericolaSeriesMarkovReward.java    |    2 +-
 src/dr/inference/markovjumps/StateChange.java      |    2 +-
 src/dr/inference/markovjumps/StateHistory.java     |    2 +-
 .../inference/markovjumps/SubordinatedProcess.java |   25 +
 .../markovjumps/TwoStateOccupancyMarkovReward.java |  360 +++++-
 .../TwoStateSericolaSeriesMarkovReward.java        |    2 +-
 .../markovjumps/UniformizedStateHistory.java       |   25 +
 src/dr/inference/mcmc/DebugChainListener.java      |   81 ++
 src/dr/inference/mcmc/DebugUtils.java              |  188 ++++
 src/dr/inference/mcmc/FrequencyDistribution2D.java |   83 --
 src/dr/inference/mcmc/MCMC.java                    |  162 +--
 src/dr/inference/mcmc/MCMCCriterion.java           |    2 +-
 src/dr/inference/mcmc/MCMCOptions.java             |    2 +-
 .../mcmc/MarginalLikelihoodEstimator.java          |    2 +-
 src/dr/inference/mcmcmc/MCMCMC.java                |   50 +-
 src/dr/inference/mcmcmc/MCMCMCOptions.java         |    2 +-
 src/dr/inference/mcmcmc/MCMCMCRunner.java          |    2 +-
 src/dr/inference/ml/GreatDelugeCriterion.java      |    2 +-
 src/dr/inference/ml/HillClimbingCriterion.java     |    2 +-
 src/dr/inference/ml/MLOptimizer.java               |    2 +-
 src/dr/inference/model/AbstractModel.java          |   10 +-
 .../inference/model/AbstractModelLikelihood.java   |   25 +
 .../BayesianStochasticSearchVariableSelection.java |   25 +
 .../model/BlockDiagonalMatrixParameter.java        |    2 +-
 .../model/BlockUpperTriangularMatrixParameter.java |   29 +-
 src/dr/inference/model/BooleanLikelihood.java      |    2 +-
 src/dr/inference/model/BooleanStatistic.java       |    2 +-
 src/dr/inference/model/Bounds.java                 |    2 +-
 src/dr/inference/model/CompoundLikelihood.java     |   32 +-
 .../inference/model/CompoundMatrixParameter.java   |  100 ++
 src/dr/inference/model/CompoundModel.java          |    2 +-
 src/dr/inference/model/CompoundParameter.java      |   13 +-
 .../inference/model/CompoundSymmetricMatrix.java   |   25 +
 src/dr/inference/model/ConstantLikelihood.java     |    2 +-
 .../inference/model/CopyParameterValuesParser.java |   94 ++
 src/dr/inference/model/CorrelationStatistic.java   |   25 +
 src/dr/inference/model/CoulombPrior.java           |    4 +-
 src/dr/inference/model/DecomposedMatrix.java       |   25 +
 src/dr/inference/model/DefaultModel.java           |    2 +-
 src/dr/inference/model/DesignMatrix.java           |    2 +-
 src/dr/inference/model/DiagonalMatrix.java         |    2 +-
 .../inference/model/DifferenceMatrixParameter.java |  251 +++++
 src/dr/inference/model/DifferenceParameter.java    |  129 +++
 src/dr/inference/model/DifferenceStatistic.java    |    4 +-
 src/dr/inference/model/DummyLikelihood.java        |    2 +-
 src/dr/inference/model/DuplicatedParameter.java    |   25 +
 .../model/EqualityConstrainedParameter.java        |    2 +-
 .../inference/model/EqualityConstraintModel.java   |    2 +-
 src/dr/inference/model/ExponentialStatistic.java   |    2 +-
 src/dr/inference/model/ExpressionStatistic.java    |    2 +-
 src/dr/inference/model/FiniteSetParameter.java     |   10 +-
 .../inference/model/IndianBuffetProcessPrior.java  |  233 ++++
 src/dr/inference/model/IntersectionBounds.java     |   10 +-
 src/dr/inference/model/JointParameter.java         |    4 +-
 src/dr/inference/model/LatentFactorModel.java      |    2 +-
 src/dr/inference/model/Likelihood.java             |    2 +-
 src/dr/inference/model/LikelihoodBenchmarker.java  |   10 +-
 src/dr/inference/model/LikelihoodProfile.java      |    2 +-
 src/dr/inference/model/LogarithmStatistic.java     |    2 +-
 src/dr/inference/model/LoggableStatistic.java      |   10 +-
 .../inference/model/MarkovRandomFieldMatrix.java   |   62 +-
 src/dr/inference/model/MaskedParameter.java        |   29 +-
 src/dr/inference/model/MatrixInverseStatistic.java |   25 +
 src/dr/inference/model/MatrixMatrixProduct.java    |   25 +
 src/dr/inference/model/MatrixParameter.java        |    2 +-
 .../model/MatrixVectorProductParameter.java        |    4 +-
 src/dr/inference/model/MeanStatistic.java          |    2 +-
 src/dr/inference/model/MixtureModelLikelihood.java |    2 +-
 src/dr/inference/model/Model.java                  |    2 +-
 src/dr/inference/model/ModelListener.java          |    2 +-
 src/dr/inference/model/MonotonicStatistic.java     |   25 +
 src/dr/inference/model/NegativeStatistic.java      |    2 +-
 src/dr/inference/model/NewMatrixParameter.java     |   25 +
 src/dr/inference/model/NotBooleanStatistic.java    |    2 +-
 src/dr/inference/model/NotStatistic.java           |   25 +
 src/dr/inference/model/OneOnX3Prior.java           |   25 +
 src/dr/inference/model/OneOnXPrior.java            |    2 +-
 .../model/ParallelCompoundLikelihood.java          |   25 +
 src/dr/inference/model/ParallelLikelihood.java     |   25 +
 src/dr/inference/model/Parameter.java              |   13 +-
 src/dr/inference/model/ParameterChooser.java       |   25 +
 src/dr/inference/model/ParameterChooserParser.java |   25 +
 src/dr/inference/model/ParameterIntegerParser.java |    4 +-
 src/dr/inference/model/ParameterParser.java        |    2 +-
 src/dr/inference/model/PathLikelihood.java         |   10 +-
 src/dr/inference/model/PearsonCorrelation.java     |   25 +
 src/dr/inference/model/ProductParameter.java       |    2 +-
 src/dr/inference/model/ProductStatistic.java       |    2 +-
 src/dr/inference/model/RPNcalculatorStatistic.java |    4 +-
 .../inference/model/RPNexpressionCalculator.java   |   25 +
 src/dr/inference/model/RatioStatistic.java         |    4 +-
 src/dr/inference/model/ReciprocalStatistic.java    |    2 +-
 src/dr/inference/model/SplineBasis.java            |   25 +
 src/dr/inference/model/Statistic.java              |    2 +-
 src/dr/inference/model/StatisticList.java          |    2 +-
 src/dr/inference/model/StatisticParser.java        |    2 +-
 src/dr/inference/model/SubStatistic.java           |   10 +-
 src/dr/inference/model/SumStatistic.java           |   10 +-
 src/dr/inference/model/TestStatistic.java          |    2 +-
 .../model/TestThreadedCompoundLikelihood.java      |    2 +-
 src/dr/inference/model/ThreadAwareLikelihood.java  |    2 +-
 .../model/ThreadedCompoundLikelihood.java          |    4 +-
 src/dr/inference/model/TransformedParameter.java   |    6 +-
 ...nsposedBlockUpperTriangularMatrixParameter.java |   27 +-
 .../inference/model/TransposedMatrixParameter.java |    2 +-
 src/dr/inference/model/ValuesPool.java             |   25 +
 src/dr/inference/model/ValuesPoolParser.java       |   25 +
 src/dr/inference/model/Variable.java               |    2 +-
 src/dr/inference/model/VariableListener.java       |   10 +-
 src/dr/inference/model/VarianceStatistic.java      |    2 +-
 src/dr/inference/model/VectorSliceParameter.java   |   50 +-
 src/dr/inference/model/WeightedMixtureModel.java   |   25 +
 .../operators/AbstractCoercableOperator.java       |   25 +
 ...daptableVarianceMultivariateNormalOperator.java |    2 +-
 src/dr/inference/operators/BitFlipOperator.java    |    9 +-
 src/dr/inference/operators/BitMoveOperator.java    |   25 +
 src/dr/inference/operators/BitSwapOperator.java    |   10 +-
 .../inference/operators/CenteredScaleOperator.java |    2 +-
 .../inference/operators/CoercableMCMCOperator.java |    2 +-
 src/dr/inference/operators/CoercionMode.java       |   25 +
 .../operators/CombinedOperatorSchedule.java        |   25 +
 .../inference/operators/DeltaExchangeOperator.java |   10 +-
 src/dr/inference/operators/DeltaMixOperator.java   |   20 +-
 .../operators/DirtyLikelihoodOperator.java         |   25 +
 .../operators/EllipticalSliceOperator.java         |  144 ++-
 .../inference/operators/FactorGibbsOperator.java   |    2 +-
 .../operators/FactorIndependenceOperator.java      |    2 +-
 src/dr/inference/operators/FactorOperator.java     |    2 +-
 src/dr/inference/operators/GeneralOperator.java    |   25 +
 .../operators/GenericIndependentSampler.java       |    2 +-
 .../operators/GibbsIndependentGammaOperator.java   |    4 +-
 .../GibbsIndependentJointNormalGammaOperator.java  |  238 ++++
 ...GibbsIndependentNormalDistributionOperator.java |    2 +-
 src/dr/inference/operators/GibbsOperator.java      |    2 +-
 .../operators/HierarchicalBitFlipOperator.java     |   25 +
 .../operators/IndependentGammaSampler.java         |    2 +-
 .../IndependentNormalDistributionSampler.java      |    2 +-
 src/dr/inference/operators/JointOperator.java      |   25 +
 src/dr/inference/operators/LNVarianceOperator.java |    2 +-
 .../LatentFactorModelPrecisionGibbsOperator.java   |    2 +-
 .../inference/operators/LoadingsGibbsOperator.java |    2 +-
 .../operators/LoadingsIndependenceOperator.java    |    2 +-
 .../inference/operators/LogRandomWalkOperator.java |    4 +-
 ...daptableVarianceMultivariateNormalOperator.java |    2 +-
 src/dr/inference/operators/MCMCOperator.java       |    2 +-
 .../operators/MVOUCovarianceOperator.java          |   25 +
 .../operators/MicrosatUpDownOperator.java          |   25 +
 .../MicrosatelliteModelSelectOperator.java         |   25 +
 .../inference/operators/MsatBitFlipOperator.java   |   25 +
 ...MsatFullAncestryImportanceSamplingOperator.java |   25 +
 .../MsatSingleAncestralStateGibbsOperator.java     |   25 +
 .../MultipleRandomWalkIntegerOperator.java         |   25 +
 .../operators/MultivariateNormalGibbsOperator.java |   25 +
 .../MultivariateNormalIndependenceSampler.java     |    2 +-
 .../operators/MultivariateNormalOperator.java      |    2 +-
 ...daptableVarianceMultivariateNormalOperator.java |    2 +-
 .../NormalGammaPrecisionGibbsOperator.java         |   10 +-
 .../operators/NormalNormalMeanGibbsOperator.java   |   10 +-
 .../operators/OperatorAnalysisPrinter.java         |   25 +
 .../operators/OperatorFailedException.java         |    2 +-
 src/dr/inference/operators/OperatorSchedule.java   |    2 +-
 src/dr/inference/operators/OperatorUtils.java      |    2 +-
 ...andomWalkIntegerNodeHeightWeightedOperator.java |   25 +
 .../operators/RandomWalkIntegerOperator.java       |   25 +
 .../RandomWalkIntegerSetSizeWeightedOperator.java  |   25 +
 src/dr/inference/operators/RandomWalkOperator.java |    2 +-
 .../operators/RateBitExchangeOperator.java         |   25 +
 .../operators/RegressionGibbsEffectOperator.java   |   25 +
 .../RegressionGibbsPrecisionOperator.java          |   25 +
 .../RegressionMetropolizedIndicatorOperator.java   |   25 +
 src/dr/inference/operators/Scalable.java           |   10 +-
 src/dr/inference/operators/ScaleOperator.java      |   10 +-
 src/dr/inference/operators/SelectorOperator.java   |   25 +
 src/dr/inference/operators/SetOperator.java        |    2 +-
 src/dr/inference/operators/SimpleMCMCOperator.java |    2 +-
 .../operators/SimpleMetropolizedGibbsOperator.java |   29 +-
 src/dr/inference/operators/SimpleOperator.java     |   25 +
 .../operators/SimpleOperatorSchedule.java          |   28 +-
 src/dr/inference/operators/SliceInterval.java      |   25 +
 src/dr/inference/operators/SliceOperator.java      |   25 +
 src/dr/inference/operators/SwapOperator.java       |    2 +-
 .../operators/SwapParameterGibbsOperator.java      |   48 +
 .../inference/operators/SwapParameterOperator.java |  124 +++
 src/dr/inference/operators/TeamOperator.java       |   25 +
 .../operators/TransformedRandomWalkOperator.java   |    4 +-
 src/dr/inference/operators/TwoPhaseOperator.java   |    2 +-
 .../operators/UniformIntegerOperator.java          |   25 +
 src/dr/inference/operators/UniformOperator.java    |    2 +-
 src/dr/inference/operators/UpDownOperator.java     |    2 +-
 .../operators/ValuesPoolSwapOperator.java          |   25 +
 src/dr/inference/parallel/MPILikelihoodRunner.java |   25 +
 src/dr/inference/parallel/MPISerializable.java     |   25 +
 src/dr/inference/parallel/MPIServices.java         |   10 +-
 src/dr/inference/parallel/ServiceRequest.java      |   25 +
 src/dr/inference/prior/AbstractParameterPrior.java |    2 +-
 src/dr/inference/prior/CompositePrior.java         |    2 +-
 src/dr/inference/prior/Prior.java                  |   10 +-
 src/dr/inference/prior/UniformParameterPrior.java  |    2 +-
 .../inference/regression/RegressionJNIWrapper.java |    2 +-
 .../regression/SelfControlledCaseSeries.java       |    2 +-
 src/dr/inference/trace/AbstractTraceList.java      |   25 +
 src/dr/inference/trace/ArrayTraceList.java         |   27 +-
 src/dr/inference/trace/CnCsPerSiteAnalysis.java    |   31 +-
 .../inference/trace/CnCsToDnDsPerSiteAnalysis.java |    8 +-
 src/dr/inference/trace/DensityEstimate.java        |   25 +
 src/dr/inference/trace/DensityRectangle.java       |    2 +-
 src/dr/inference/trace/DnDsPerSiteAnalysis.java    |   29 +-
 src/dr/inference/trace/Filter.java                 |   25 +
 src/dr/inference/trace/FilteredTraceList.java      |   25 +
 .../GeneralizedSteppingStoneSamplingAnalysis.java  |   25 +
 src/dr/inference/trace/KernelDensityEstimate.java  |   25 +
 src/dr/inference/trace/LogFileTraceExporter.java   |   25 +
 src/dr/inference/trace/LogFileTraces.java          |   26 +-
 .../trace/MarginalLikelihoodAnalysis.java          |   16 +-
 src/dr/inference/trace/OldDnDsPerSiteAnalysis.java |   29 +-
 src/dr/inference/trace/PathSamplingAnalysis.java   |   31 +-
 .../trace/SteppingStoneSamplingAnalysis.java       |   25 +
 src/dr/inference/trace/Trace.java                  |    2 +-
 src/dr/inference/trace/TraceAnalysis.java          |    8 +-
 src/dr/inference/trace/TraceCorrelation.java       |    2 +-
 src/dr/inference/trace/TraceCustomized.java        |    4 +-
 src/dr/inference/trace/TraceDistribution.java      |    2 +-
 src/dr/inference/trace/TraceException.java         |    2 +-
 src/dr/inference/trace/TraceFactory.java           |   25 +
 src/dr/inference/trace/TraceList.java              |    4 +-
 src/dr/inference/trace/TracesListener.java         |   25 +
 src/dr/inference/trace/TracesReader.java           |   25 +
 src/dr/inference/tutorial/Tutorial1.java           |   10 +-
 src/dr/inferencexml/MCMCParser.java                |    2 +-
 src/dr/inferencexml/MLOptimizerParser.java         |   25 +
 .../distribution/BetaDistributionModelParser.java  |    2 +-
 .../distribution/BinomialLikelihoodParser.java     |   35 +-
 .../CachedDistributionLikelihoodParser.java        |   25 +
 .../DirichletProcessLikelihoodParser.java          |   12 +-
 .../distribution/DistributionLikelihoodParser.java |   10 +-
 .../distribution/DistributionModelParser.java      |   10 +-
 .../EmpiricalDistributionLikelihoodParser.java     |    2 +-
 .../ExponentialDistributionModelParser.java        |   25 +
 .../distribution/ExponentialMarkovModelParser.java |   10 +-
 .../distribution/GammaDistributionModelParser.java |   25 +
 .../distribution/GeneralizedLinearModelParser.java |   25 +
 .../HierarchicalGraphLikelihoodParser.java         |   25 +
 .../InverseGammaDistributionModelParser.java       |   25 +
 .../InverseGaussianDistributionModelParser.java    |   25 +
 .../LocationScaleJeffreysPriorParser.java          |    2 +-
 .../LogNormalDistributionModelParser.java          |   25 +
 .../MixedDistributionLikelihoodParser.java         |   25 +
 .../ModelSpecificPseudoPriorLikelihoodParser.java  |   25 +
 .../MomentDistributionModelParser.java             |   95 ++
 .../MultivariateNormalDistributionModelParser.java |    2 +-
 .../NormalDistributionModelParser.java             |   25 +
 .../OnePGammaDistributionModelParser.java          |   25 +
 src/dr/inferencexml/distribution/PriorParsers.java |    2 +-
 .../distribution/RandomWalkModelParser.java        |   25 +
 .../ScaledBetaDistributionModelParser.java         |    4 +-
 .../SkewNormalDistributionModelParser.java         |    2 +-
 .../distribution/TDistributionModelParser.java     |    2 +-
 .../TruncatedNormalDistributionModelParser.java    |   25 +
 .../TwoPartsDistributionLikelihoodParser.java      |   25 +
 ...oPieceLocationScaleDistributionModelParser.java |    2 +-
 .../UniformDistributionModelParser.java            |   25 +
 .../WishartGammaDistributionModelParser.java       |    2 +-
 .../distribution/WorkingPriorParsers.java          |  287 ++++-
 src/dr/inferencexml/loggers/ColumnsParser.java     |   25 +
 src/dr/inferencexml/loggers/LoggerParser.java      |   13 +-
 src/dr/inferencexml/loggers/MLLoggerParser.java    |   25 +
 .../BlockUpperTriangularMatrixParameterParser.java |   25 +
 .../model/BooleanLikelihoodParser.java             |   25 +
 .../model/CompoundLikelihoodParser.java            |   13 +-
 .../model/CompoundParameterParser.java             |   25 +
 .../model/CompoundSymmetricMatrixParser.java       |   25 +
 src/dr/inferencexml/model/CoulombPriorParser.java  |   25 +
 src/dr/inferencexml/model/DefaultModelParser.java  |   25 +
 .../inferencexml/model/DiagonalMatrixParser.java   |   25 +
 .../model/DifferenceMatrixParameterParser.java     |   81 ++
 .../model/DifferenceParameterParser.java           |   80 ++
 .../model/DifferenceStatisticParser.java           |   25 +
 .../inferencexml/model/DummyLikelihoodParser.java  |   25 +
 .../model/DuplicatedParameterParser.java           |   25 +
 .../model/ExponentialStatisticParser.java          |   25 +
 .../model/ExpressionStatisticParser.java           |   25 +
 .../model/IndianBuffetProcessPriorParser.java      |   96 ++
 .../inferencexml/model/JointParameterParser.java   |   25 +
 .../model/LatentFactorModelParser.java             |    2 +-
 .../model/LikelihoodBenchmarkerParser.java         |   10 +-
 .../model/LogarithmStatisticParser.java            |   25 +
 .../model/MarkovRandomFieldMatrixParser.java       |   25 +-
 .../model/MaskedMatrixParameterParser.java         |  125 +++
 .../inferencexml/model/MaskedParameterParser.java  |   25 +
 .../model/MatrixMatrixProductParser.java           |   25 +
 .../model/MatrixVectorProductParameterParser.java  |    2 +-
 src/dr/inferencexml/model/MeanStatisticParser.java |   25 +
 .../model/NegativeStatisticParser.java             |   25 +
 .../model/NotBooleanStatisticParser.java           |    2 +-
 src/dr/inferencexml/model/NotStatisticParser.java  |   25 +
 src/dr/inferencexml/model/OneOnX3PriorParser.java  |   25 +
 src/dr/inferencexml/model/OneOnXPriorParser.java   |   25 +
 .../inferencexml/model/ProductParameterParser.java |    2 +-
 .../inferencexml/model/ProductStatisticParser.java |   25 +
 .../model/RPNcalculatorStatisticParser.java        |   25 +
 .../inferencexml/model/RatioStatisticParser.java   |   25 +
 .../model/ReciprocalStatisticParser.java           |   25 +
 src/dr/inferencexml/model/SubStatisticParser.java  |   25 +
 src/dr/inferencexml/model/SumStatisticParser.java  |   25 +
 src/dr/inferencexml/model/TestStatisticParser.java |   25 +
 .../model/ThreadedCompoundLikelihoodParser.java    |   25 +
 .../model/TransformedParameterParser.java          |    2 +-
 .../model/VarianceStatisticParser.java             |   25 +
 .../operators/ApplyOperatorOnceParser.java         |    2 +-
 .../operators/BitFlipOperatorParser.java           |   25 +
 .../operators/BitMoveOperatorParser.java           |   25 +
 .../operators/BitSwapOperatorParser.java           |   25 +
 .../operators/CenteredScaleOperatorParser.java     |   25 +
 .../operators/DeltaExchangeOperatorParser.java     |   25 +
 .../operators/DeltaMixOperatorParser.java          |   25 +
 .../operators/DirtyLikelihoodOperatorParser.java   |   25 +
 .../operators/EllipticalSliceOperatorParser.java   |   26 +-
 .../operators/FactorGibbsOperatorParser.java       |    2 +-
 .../FactorIndependenceOperatorParser.java          |    2 +-
 .../operators/FactorOperatorParser.java            |    2 +-
 .../HierarchicalBitFlipOperatorParser.java         |   25 +
 .../operators/JointOperatorParser.java             |   25 +
 ...entFactorModelPrecisionGibbsOperatorParser.java |    2 +-
 .../operators/LoadingsGibbsOperatorParser.java     |    2 +-
 .../LoadingsIndependenceOperatorParser.java        |    2 +-
 .../operators/LogRandomWalkOperatorParser.java     |   25 +
 .../operators/MVOUCovarianceOperatorParser.java    |   25 +
 .../operators/MicrosatUpDownOperatorParser.java    |   25 +
 .../MicrosatelliteModelSelectOperatorParser.java   |   25 +
 .../operators/MsatBitFlipOperatorParser.java       |   25 +
 ...llAncestryImportanceSamplingOperatorParser.java |   25 +
 ...satSingleAncestralStateGibbsOperatorParser.java |   25 +
 .../MultipleRandomWalkIntegerOperatorParser.java   |   25 +
 .../MultivariateNormalGibbsOperatorParser.java     |   25 +
 ...alkIntegerNodeHeightWeightedOperatorParser.java |   25 +
 .../operators/RandomWalkIntegerOperatorParser.java |   25 +
 ...omWalkIntegerSetSizeWeightedOperatorParser.java |   25 +
 .../operators/RandomWalkOperatorParser.java        |   25 +
 .../operators/ScaleOperatorParser.java             |   25 +
 .../operators/SelectorOperatorParser.java          |   25 +
 .../inferencexml/operators/SetOperatorParser.java  |   25 +
 .../operators/SimpleOperatorScheduleParser.java    |   25 +
 .../inferencexml/operators/SwapOperatorParser.java |   25 +
 .../operators/SwapParameterOperatorParser.java     |   89 ++
 .../inferencexml/operators/TeamOperatorParser.java |   25 +
 .../TransformedRandomWalkOperatorParser.java       |   25 +
 .../operators/TwoPhaseOperatorParser.java          |    2 +-
 .../operators/UniformIntegerOperatorParser.java    |   25 +
 .../operators/UniformOperatorParser.java           |   25 +
 .../operators/UpDownOperatorParser.java            |   25 +
 .../operators/ValuesPoolSwapOperatorParser.java    |   25 +
 src/dr/inferencexml/trace/AICMAnalysisParser.java  |   31 +-
 .../trace/ArithmeticMeanAnalysisParser.java        |   31 +-
 .../trace/HarmonicMeanAnalysisParser.java          |   33 +-
 .../trace/LogFileTraceExporterParser.java          |   25 +
 .../trace/MarginalLikelihoodAnalysisParser.java    |   31 +-
 src/dr/inferencexml/trace/TraceAnalysisParser.java |   10 +-
 src/dr/math/BFloat.java                            |    2 +-
 src/dr/math/BigDecimalUtils.java                   |   25 +
 src/dr/math/Binomial.java                          |    2 +-
 src/dr/math/BoundsCheckedFunction.java             |    2 +-
 src/dr/math/ComplexArray.java                      |   25 +
 src/dr/math/CompoundFunction.java                  |    2 +-
 src/dr/math/ConjugateDirectionSearch.java          |    2 +-
 src/dr/math/ConjugateGradientSearch.java           |    2 +-
 src/dr/math/DifferentialEvolution.java             |    2 +-
 src/dr/math/EmpiricalBayesPoissonSmoother.java     |    2 +-
 src/dr/math/ErrorFunction.java                     |    2 +-
 src/dr/math/FastFourierTransform.java              |   25 +
 src/dr/math/GammaFunction.java                     |    2 +-
 .../math/GeneralisedGaussLaguerreQuadrature.java   |   25 +
 src/dr/math/IntegrableUnivariateFunction.java      |   25 +
 src/dr/math/Integral.java                          |    2 +-
 src/dr/math/KroneckerOperation.java                |   25 +
 src/dr/math/LineFunction.java                      |    2 +-
 src/dr/math/LogTricks.java                         |   25 +
 src/dr/math/MFWithGradient.java                    |    2 +-
 src/dr/math/MachineAccuracy.java                   |    2 +-
 src/dr/math/MathUtils.java                         |    2 +-
 src/dr/math/MersenneTwisterFast.java               |    2 +-
 src/dr/math/MinimiserMonitor.java                  |    2 +-
 src/dr/math/MittagLefflerFunction.java             |   25 +
 src/dr/math/ModifiedBesselFirstKind.java           |   25 +
 src/dr/math/MonteCarloIntegral.java                |    2 +-
 src/dr/math/MultivariateFunction.java              |    2 +-
 src/dr/math/MultivariateIntegral.java              |    4 +-
 src/dr/math/MultivariateMinimum.java               |    2 +-
 src/dr/math/MultivariateMonteCarloIntegral.java    |    4 +-
 src/dr/math/NumericalDerivative.java               |    2 +-
 src/dr/math/Poisson.java                           |    2 +-
 src/dr/math/Polynomial.java                        |   25 +
 src/dr/math/Procrustes.java                        |   25 +
 src/dr/math/RiemannApproximation.java              |    2 +-
 src/dr/math/SparseMatrixExponential.java           |   25 +
 src/dr/math/UnivariateFunction.java                |    2 +-
 src/dr/math/UnivariateMinimum.java                 |    2 +-
 src/dr/math/distributions/BetaDistribution.java    |   25 +
 src/dr/math/distributions/BetaKDEDistribution.java |   25 +
 .../BifractionalDiffusionDensity.java              |   25 +
 .../math/distributions/ChiSquareDistribution.java  |    2 +-
 .../math/distributions/DirichletDistribution.java  |   25 +
 .../distributions/DiscreteUniformDistribution.java |   25 +
 src/dr/math/distributions/Distribution.java        |    2 +-
 .../distributions/ExponentialDistribution.java     |    2 +-
 src/dr/math/distributions/GammaDistribution.java   |   43 +-
 .../math/distributions/GammaKDEDistribution.java   |   49 +
 .../GaussianProcessRandomGenerator.java            |    5 +-
 .../GeneralizedIntegerGammaDistribution.java       |  182 +++
 src/dr/math/distributions/HalfTDistribution.java   |    2 +-
 .../distributions/InverseGammaDistribution.java    |    4 +-
 .../distributions/InverseGaussianDistribution.java |    2 +-
 .../distributions/InverseWishartDistribution.java  |    2 +-
 .../KernelDensityEstimatorDistribution.java        |   25 +
 src/dr/math/distributions/LaplaceDistribution.java |   25 +
 .../math/distributions/LogNormalDistribution.java  |    2 +-
 .../LogTransformedNormalKDEDistribution.java       |  256 ++++-
 .../LogitTransformedNormalKDEDistribution.java     |  461 ++++++++
 .../distributions/MultivariateDistribution.java    |   25 +
 .../MultivariateGammaDistribution.java             |   25 +
 .../distributions/MultivariateKDEDistribution.java |   61 +-
 .../MultivariateNormalDistribution.java            |    7 +-
 .../MultivariatePolyaDistributionLikelihood.java   |   25 +
 .../NegativeBinomialDistribution.java              |   25 +
 src/dr/math/distributions/NormalDistribution.java  |    2 +-
 .../distributions/NormalGammaDistribution.java     |   25 +
 .../math/distributions/NormalKDEDistribution.java  |   50 +
 .../distributions/OffsetPositiveDistribution.java  |   25 +
 src/dr/math/distributions/PoissonDistribution.java |   25 +
 src/dr/math/distributions/RandomGenerator.java     |    2 +-
 .../distributions/ReflectedNormalDistribution.java |    4 +-
 src/dr/math/distributions/TDistribution.java       |   25 +
 .../math/distributions/TruncatedDistribution.java  |   25 +
 .../distributions/TruncatedNormalDistribution.java |   25 +
 src/dr/math/distributions/UniformDistribution.java |    2 +-
 src/dr/math/distributions/WishartDistribution.java |    2 +-
 src/dr/math/distributions/WishartStatistics.java   |    2 +-
 .../distributions/WishartSufficientStatistics.java |   25 +
 src/dr/math/functionEval/DrMath.java               |    2 +-
 src/dr/math/functionEval/FunctionDerivative.java   |    2 +-
 src/dr/math/functionEval/GammaFunction.java        |    2 +-
 src/dr/math/functionEval/PolynomialFunction.java   |    2 +-
 .../ConjugateWishartStatisticsProvider.java        |    4 +-
 .../math/interfaces/CurveMouseClickListener.java   |    2 +-
 src/dr/math/interfaces/ManyVariableFunction.java   |    2 +-
 src/dr/math/interfaces/OneVariableFunction.java    |    2 +-
 .../ParametrizedOneVariableFunction.java           |    2 +-
 src/dr/math/interfaces/PointSeries.java            |    2 +-
 src/dr/math/interfaces/PointSeriesWithErrors.java  |    2 +-
 src/dr/math/iterations/BisectionZeroFinder.java    |    2 +-
 src/dr/math/iterations/FunctionalIterator.java     |    2 +-
 src/dr/math/iterations/IterativeProcess.java       |    2 +-
 src/dr/math/iterations/NewtonZeroFinder.java       |    2 +-
 .../math/matrixAlgebra/CholeskyDecomposition.java  |   25 +
 src/dr/math/matrixAlgebra/IllegalDimension.java    |    2 +-
 .../math/matrixAlgebra/JacobiTransformation.java   |    2 +-
 src/dr/math/matrixAlgebra/LUPDecomposition.java    |    2 +-
 .../matrixAlgebra/LargestEigenvalueFinder.java     |    2 +-
 src/dr/math/matrixAlgebra/LinearEquations.java     |    2 +-
 src/dr/math/matrixAlgebra/Matrix.java              |    2 +-
 .../math/matrixAlgebra/NonSymmetricComponents.java |    2 +-
 .../matrixAlgebra/RobustEigenDecomposition.java    |   34 +-
 .../RobustSingularValueDecomposition.java          |   29 +-
 src/dr/math/matrixAlgebra/SymmetricMatrix.java     |    2 +-
 src/dr/math/matrixAlgebra/Vector.java              |    2 +-
 src/dr/matrix/ConcreteMatrix.java                  |    2 +-
 src/dr/matrix/Matrix.java                          |    2 +-
 src/dr/matrix/MutableMatrix.java                   |    2 +-
 src/dr/stats/DiscreteStatistics.java               |    2 +-
 src/dr/stats/Regression.java                       |   10 +-
 src/dr/stats/Variate.java                          |   10 +-
 src/dr/util/AlloppMisc.java                        |   25 +
 src/dr/util/Assert.java                            |    2 +-
 src/dr/util/Attributable.java                      |    2 +-
 src/dr/util/Attribute.java                         |    2 +-
 src/dr/util/Author.java                            |   25 +
 src/dr/util/Citable.java                           |   25 +
 src/dr/util/Citation.java                          |   25 +
 src/dr/util/CollectionHash.java                    |    2 +-
 src/dr/util/CommonCitations.java                   |    2 +-
 src/dr/util/ComparableDouble.java                  |    2 +-
 src/dr/util/DataTable.java                         |   25 +
 src/dr/util/ErrorLogHandler.java                   |    2 +-
 src/dr/util/FileHelpers.java                       |   10 +-
 src/dr/util/FrequencyDistribution.java             |    2 +-
 src/dr/util/FrequencySet.java                      |    2 +-
 src/dr/util/HTMLOutput.java                        |    2 +-
 src/dr/util/HeapSort.java                          |   10 +-
 src/dr/util/Identifiable.java                      |   10 +-
 src/dr/util/MergeSort.java                         |   22 +-
 src/dr/util/MessageLogHandler.java                 |    2 +-
 src/dr/util/NumberFormatter.java                   |    2 +-
 src/dr/util/Permutator.java                        |    2 +-
 src/dr/util/Property.java                          |    2 +-
 src/dr/util/TIFFWriter.java                        |    2 +-
 src/dr/util/TabularData.java                       |   25 +
 src/dr/util/TaskListener.java                      |   25 +
 src/dr/util/Timer.java                             |    2 +-
 src/dr/util/Transform.java                         |    2 +-
 src/dr/util/Version.java                           |    2 +-
 src/dr/util/XHTMLable.java                         |    2 +-
 src/dr/xml/AbstractXMLObjectParser.java            |    2 +-
 src/dr/xml/AndRule.java                            |    4 +-
 src/dr/xml/AttributeParser.java                    |    2 +-
 src/dr/xml/AttributeRule.java                      |    2 +-
 src/dr/xml/AttributesParser.java                   |    2 +-
 src/dr/xml/ClassComparator.java                    |    2 +-
 src/dr/xml/ContentRule.java                        |    2 +-
 src/dr/xml/ElementRule.java                        |    2 +-
 src/dr/xml/ObjectNotFoundException.java            |    2 +-
 src/dr/xml/ObjectStore.java                        |    2 +-
 src/dr/xml/OrRule.java                             |    2 +-
 src/dr/xml/PropertyParser.java                     |    2 +-
 src/dr/xml/Reference.java                          |    2 +-
 src/dr/xml/Report.java                             |   10 +-
 src/dr/xml/Reportable.java                         |   25 +
 src/dr/xml/Spawnable.java                          |   10 +-
 src/dr/xml/StringAttributeRule.java                |   10 +-
 src/dr/xml/UserInput.java                          |    2 +-
 src/dr/xml/WikiDocumentationHandler.java           |    4 +-
 src/dr/xml/XHTMLReport.java                        |    2 +-
 src/dr/xml/XMLDocumentationHandler.java            |   10 +-
 src/dr/xml/XMLModelCombiner.java                   |   25 +
 src/dr/xml/XMLModelFile.java                       |   25 +
 src/dr/xml/XMLModelIdentifiable.java               |   25 +
 src/dr/xml/XMLObject.java                          |    2 +-
 src/dr/xml/XMLObjectParser.java                    |    2 +-
 src/dr/xml/XMLParseException.java                  |    2 +-
 src/dr/xml/XMLParser.java                          |    2 +-
 src/dr/xml/XMLSyntaxRule.java                      |    2 +-
 src/dr/xml/XORRule.java                            |    2 +-
 src/test/dr/math/GeneralizedIntegerGammaTest.java  |  134 +++
 2527 files changed, 56891 insertions(+), 5031 deletions(-)

diff --git a/.classpath b/.classpath
index 996cad7..e405ad1 100644
--- a/.classpath
+++ b/.classpath
@@ -15,6 +15,6 @@
 	<classpathentry kind="lib" path="lib/options.jar"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="lib" path="lib/commons-math-2.2.jar"/>
+	<classpathentry kind="lib" path="lib/freemarker.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
-
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..68cd139
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+*.iml
+*.ipr
+*.iws
+bin/
+build/
+dist/
+out/
diff --git a/.idea/libraries/lib.xml b/.idea/libraries/lib.xml
new file mode 100644
index 0000000..11c4023
--- /dev/null
+++ b/.idea/libraries/lib.xml
@@ -0,0 +1,10 @@
+<component name="libraryTable">
+  <library name="lib">
+    <CLASSES>
+      <root url="jar://$PROJECT_DIR$/release/Mac/lib/quaqua-filechooser-only.jar!/" />
+      <root url="jar://$PROJECT_DIR$/release/Mac/lib/quaqua.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/lib1.xml b/.idea/libraries/lib1.xml
new file mode 100644
index 0000000..bd84618
--- /dev/null
+++ b/.idea/libraries/lib1.xml
@@ -0,0 +1,23 @@
+<component name="libraryTable">
+  <library name="lib1">
+    <CLASSES>
+      <root url="jar://$PROJECT_DIR$/lib/commons-math-2.2.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/colt.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/itext-1.4.5.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/org.boehn.kmlframework_20090320.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/JRI.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/beagle.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/jdom.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/options.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/figtreepanel.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/freemarker.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/junit-4.4.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/mtj.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/mpj.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/jebl.jar!/" />
+      <root url="jar://$PROJECT_DIR$/lib/jam.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/phylogeography.xml b/.idea/libraries/phylogeography.xml
new file mode 100644
index 0000000..8bd4c61
--- /dev/null
+++ b/.idea/libraries/phylogeography.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+  <library name="phylogeography">
+    <CLASSES>
+      <root url="jar://$PROJECT_DIR$/release_phylogeography/common/lib/phylogeography.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/quaqua.xml b/.idea/libraries/quaqua.xml
new file mode 100644
index 0000000..a6c2674
--- /dev/null
+++ b/.idea/libraries/quaqua.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+  <library name="quaqua">
+    <CLASSES>
+      <root url="jar://$PROJECT_DIR$/release_tracer/Mac/lib/quaqua.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/tracer.xml b/.idea/libraries/tracer.xml
new file mode 100644
index 0000000..a95172d
--- /dev/null
+++ b/.idea/libraries/tracer.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+  <library name="tracer">
+    <CLASSES>
+      <root url="jar://$PROJECT_DIR$/release_tracer/Windows/Tracer v1.6pre/lib/tracer.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/tracer1.xml b/.idea/libraries/tracer1.xml
new file mode 100644
index 0000000..aa8ed12
--- /dev/null
+++ b/.idea/libraries/tracer1.xml
@@ -0,0 +1,9 @@
+<component name="libraryTable">
+  <library name="tracer1">
+    <CLASSES>
+      <root url="jar://$PROJECT_DIR$/release_tracer/Windows/Tracer v1.5/lib/tracer.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>
\ No newline at end of file
diff --git a/.project b/.project
new file mode 100644
index 0000000..9662e13
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>beast-mcmc</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..ae7e68e
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,6 @@
+language: java
+
+jdk:
+    - oraclejdk7
+    - openjdk6
+    
diff --git a/NOTIFY b/NOTIFY
index 8a51684..642e098 100644
--- a/NOTIFY
+++ b/NOTIFY
@@ -1,4 +1,4 @@
-BEAST is Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+BEAST is Copyright (C) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
 BEAST is distributed under the terms of the GNU Lesser General Public License.
 See the notice in individual files and the file LICENSE for licensing details.
 
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..aaa3b8a
--- /dev/null
+++ b/README.md
@@ -0,0 +1,34 @@
+# BEAST
+
+Bayesian Evolutionary Analysis Sampling Trees (BEAST) is a cross-platform program for Bayesian analysis of molecular sequences using MCMC. 
+The program is orientated towards (strict and relaxed) molecular clock analyses. 
+It can be used as a method of constructing phylogenies, but it is also intended for testing evolutionary hypotheses without conditioning on a single tree topology. 
+BEAST uses MCMC to average over tree space, so that each tree is weighted proportional to its posterior probability. 
+It uses an XML input format that allows the user to design and run a large range of models. 
+We also include a program that can convert NEXUS files into this format.
+
+## Download BEAST
+
+[Download BEAST v1.8.1 binaries for Mac, Windows and UNIX/Linux](http://tree.bio.ed.ac.uk/software/beast/)
+
+[Older BEAST Downloads](https://code.google.com/p/beast-mcmc/downloads)
+
+## Other Downloads
+
+[BEASTGen v1.0.2 .tgz file](https://drive.google.com/file/d/0B37cqWL7UhTAVFVhQ2o1Y093b1k)
+
+[BEASTGen v1.0.2 .ZIP file](https://drive.google.com/file/d/0B37cqWL7UhTAWm81VklIeUNtQVU)
+
+# Documentation
+
+[BEAST Documentation Website](http://beast.bio.ed.ac.uk)
+
+
+# Acknowledgements
+- This project is supported in part through the National Science Foundation grant DMS 1264153.
+
+---
+
+YourKit is kindly supporting open source projects with its full-featured Java Profiler.
+YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. 
+Take a look at YourKit's leading software products [YourKit Java Profiler](http://www.yourkit.com/java/profiler/index.jsp) and [YourKit .NET Profiler](http://www.yourkit.com/.net/profiler/index.jsp).
diff --git a/build.xml b/build.xml
index f8e6d8c..39e5840 100644
--- a/build.xml
+++ b/build.xml
@@ -290,8 +290,8 @@
         <echo message="JUnit test report finished."/>
     </target>
 
-    <property name="version" value="1.8.2"/>
-    <property name="version_number" value="1.8.2"/>
+    <property name="version" value="1.8.3pre"/>
+    <property name="version_number" value="1.8.3"/>
     <property name="release_dir" value="release"/>
     <property name="BEAST_name" value="BEAST"/>
     <property name="BEAUti_name" value="BEAUti"/>
@@ -300,6 +300,7 @@
     <property name="LogAnalyser_name" value="LogAnalyser"/>
     <property name="TreeStat_name" value="TreeStat"/>
 
+    <property name="packaging_tools" value="packaging_tools" />
     <property name="common_dir" value="${release_dir}/common"/>
 
     <property name="Mac_dir" value="${release_dir}/Mac"/>
@@ -493,13 +494,13 @@
         <jarbundler dir="${Mac_package_dir}"
                     name="${BEAST_name} v${version}"
                     mainclass="dr.app.beast.BeastMain"
-                    stubfile="${Mac_dir}/universalJavaApplicationStub"
+                    stubfile="${packaging_tools}/mac/universalJavaApplicationStub"
                     icon="${common_dir}/icons/beast.icns"
                     jvmversion="1.6+"
                     vmoptions="-d64 -Xmx2048M"
                     arguments="-window -working -options"
                     version="${version}"
-                    infostring="${BEAST_name} v${version}, Copyright 2002-2015, Alexei Drummond, Andrew Rambaut and Marc Suchard"
+                    copyright="${BEAST_name} v${version}, Copyright 2002-2015, Alexei Drummond, Andrew Rambaut and Marc Suchard"
                     bundleid="dr.app.beast">
             <javaproperty name="apple.laf.useScreenMenuBar" value="true"/>
             <javaproperty name="java.library.path" value="$JAVAROOT:/usr/local/lib"/>
@@ -515,13 +516,13 @@
         <jarbundler dir="${Mac_package_dir}"
                     name="${BEAUti_name} v${version}"
                     mainclass="dr.app.beauti.BeautiApp"
-                    stubfile="${Mac_dir}/universalJavaApplicationStub"
+                    stubfile="${packaging_tools}/mac/universalJavaApplicationStub"
                     icon="${common_dir}/icons/beauti.icns"
                     jvmversion="1.6+"
                     vmoptions="-d64 -Xmx2048M"
                     arguments=""
                     version="${version}"
-                    infostring="${BEAUti_name} v${version}, Copyright 2002-2015, Alexei Drummond, Andrew Rambaut, Marc Suchard and Walter Xie"
+                    copyright="${BEAUti_name} v${version}, Copyright 2002-2015, Alexei Drummond, Andrew Rambaut, Marc Suchard and Walter Xie"
                     bundleid="dr.app.beauti">
             <documenttype name="BEAUti document"
                           extensions="beauti bti"
@@ -543,13 +544,13 @@
         <jarbundler dir="${Mac_package_dir}"
                     name="${LogCombiner_name} v${version}"
                     mainclass="dr.app.tools.LogCombiner"
-                    stubfile="${Mac_dir}/universalJavaApplicationStub"
+                    stubfile="${packaging_tools}/mac/universalJavaApplicationStub"
                     icon="${common_dir}/icons/utility.icns"
                     jvmversion="1.6+"
                     vmoptions="-d64 -Xmx2048M"
                     arguments=""
                     version="${version}"
-                    infostring="${LogCombiner_name} v${version}, Copyright 2002-2015, Alexei Drummond, Andrew Rambaut, Marc Suchard and Walter Xie"
+                    copyright="${LogCombiner_name} v${version}, Copyright 2002-2015, Alexei Drummond, Andrew Rambaut, Marc Suchard and Walter Xie"
                     bundleid="dr.app.tools.logcombiner">
             <jarfileset dir="${Mac_package_dir}/lib">
                 <include name="**/beast.jar"/>
@@ -561,13 +562,13 @@
         <jarbundler dir="${Mac_package_dir}"
                     name="${TreeAnnotator_name} v${version}"
                     mainclass="dr.app.tools.TreeAnnotator"
-                    stubfile="${Mac_dir}/universalJavaApplicationStub"
+                    stubfile="${packaging_tools}/mac/universalJavaApplicationStub"
                     icon="${common_dir}/icons/utility.icns"
                     jvmversion="1.6+"
                     vmoptions="-d64 -Xmx4096M"
                     arguments=""
                     version="${version}"
-                    infostring="${TreeAnnotator_name} v${version}, Copyright 2002-2015, Alexei Drummond, Andrew Rambaut, Marc Suchard and Walter Xie"
+                    copyright="${TreeAnnotator_name} v${version}, Copyright 2002-2015, Alexei Drummond, Andrew Rambaut, Marc Suchard and Walter Xie"
                     bundleid="dr.app.tools.treeannotator">
             <jarfileset dir="${Mac_package_dir}/lib">
                 <include name="**/beast.jar"/>
@@ -579,13 +580,13 @@
         <jarbundler dir="${Mac_package_dir}"
                     name="${TreeStat_name} v${version}"
                     mainclass="dr.app.treestat.TreeStatApp"
-                    stubfile="${Mac_dir}/universalJavaApplicationStub"
+                    stubfile="${packaging_tools}/mac/universalJavaApplicationStub"
                     icon="${common_dir}/icons/TreeStat.icns"
                     jvmversion="1.6+"
                     vmoptions="-d64 -Xmx1024M"
                     arguments=""
                     version="${version}"
-                    infostring="${TreeStat_name} v${version}, Copyright 2002-2015, Alexei Drummond and Andrew Rambaut"
+                    copyright="${TreeStat_name} v${version}, Copyright 2002-2015, Alexei Drummond and Andrew Rambaut"
                     bundleid="dr.app.treestat">
             <jarfileset dir="${Mac_package_dir}/lib">
                 <include name="**/beast.jar"/>
diff --git a/build_pathogen.xml b/build_pathogen.xml
index a5a62b9..ba6b048 100644
--- a/build_pathogen.xml
+++ b/build_pathogen.xml
@@ -88,7 +88,8 @@
         </jar>
     </target>
 
-    <property name="version" value="1.4" />
+    <property name="version" value="1.5" />
+    <property name="packaging_tools" value="packaging_tools" />
     <property name="release_dir" value="release_pathogen" />
     <property name="name" value="Path-O-Gen" />
 
@@ -173,11 +174,12 @@
         <jarbundler dir="${Mac_package_dir}"
                         name="${name} v${version}"
                         mainclass="dr.app.pathogen.PathogenApp"
+                        stubfile="${packaging_tools}/mac/universalJavaApplicationStub"
                         icon="${Mac_dir}/icons/Path-O-Gen.icns"
-                        jvmversion="1.5+"
+                        jvmversion="1.6+"
                         arguments=""
                         version="${version}"
-                        infostring="${name} v${version}, Copyright 2006-2013, Andrew Rambaut"
+                        copyright="${name} v${version}, Copyright 2006-2015, Andrew Rambaut"
                         bundleid="pathogen" >
             <javaproperty name="apple.laf.useScreenMenuBar" value="true"/>
             <jarfileset dir="${dist}">
diff --git a/build_tracer.xml b/build_tracer.xml
index 8257643..1cd3902 100644
--- a/build_tracer.xml
+++ b/build_tracer.xml
@@ -134,6 +134,7 @@
     <property name="release_dir" value="release_tracer" />
     <property name="name" value="Tracer" />
 
+    <property name="packaging_tools" value="packaging_tools" />
     <property name="common_dir" value="${release_dir}/common" />
 
     <property name="Mac_dir" value="${release_dir}/Mac" />
@@ -215,12 +216,13 @@
         <jarbundler dir="${Mac_package_dir}"
                         name="${name} v${version}"
                         mainclass="dr.app.tracer.application.TracerApp"
+                        stubfile="${packaging_tools}/mac/universalJavaApplicationStub"
                         icon="${Mac_dir}/icons/Tracer.icns"
-                        jvmversion="1.5+"
+                        jvmversion="1.6+"
                         vmoptions="-Xmx1024M"
                         arguments=""
                         version="${version}"
-                        infostring="${name} v${version}, Copyright 2003-2013, Andrew Rambaut, Marc Suchard & Alexei J. Drummond"
+                        copyright="${name} v${version}, Copyright 2003-2015, Andrew Rambaut, Marc Suchard & Alexei J. Drummond"
                         bundleid="tracer" >
             <javaproperty name="apple.laf.useScreenMenuBar" value="true"/>
             <jarfileset dir="${dist}">
diff --git a/old_issue_list/all-issues.csv b/old_issue_list/all-issues.csv
new file mode 100644
index 0000000..ede34e1
--- /dev/null
+++ b/old_issue_list/all-issues.csv
@@ -0,0 +1,102 @@
+"ID","Type","Status","Priority","Milestone","Owner","Summary","AllLabels"
+"763","Defect","Accepted","Medium","Release1.8.3","rambaut","BEAUti creates a subtree slide operator with size zero when data is invariable","BEAUti, Milestone-Release1.8.3, Priority-Medium, Type-Defect, v1.8.2"
+"762","Defect","New","Medium","","","Spurious <coalescentEventsStatistic> block inserted in log when selecting skygrid","Priority-Medium, Type-Defect"
+"761","Defect","New","Medium","Release1.6.1","rambaut","Tracer BSP plots missing 10^-1 labels","1.6, Milestone-Release1.6.1, Priority-Medium, Tracer, Type-Defect"
+"760","Task","New","High","","rambaut","Export project to Github or another repo host","Priority-High, Type-Task"
+"759","Defect","New","Low","","","4 taxa were in the xml file but error messages of ""Tree with fewer than 3 taxa"" by BEAST","Priority-Low, Type-Defect"
+"756","Defect","Fixed","Medium","Release1.8.2","mdhall272","FEE with random local clock + codon position partitions + multiple threads","Milestone-Release1.8.2, Priority-Medium, Type-Defect, beast, v1.8.1"
+"755","Defect","Invalid","Medium","","","BEAST disappears without error message on running xml BEAUti script","Priority-Medium, Type-Defect"
+"754","Defect","Fixed","Critical","Release1.8.2","rambaut","BEAST v1.8.1 is not terminating leaving 'zombie' processes","Milestone-Release1.8.2, Priority-Critical, Type-Defect, beast, v1.8.1"
+"753","Defect","Accepted","Low","","mdhall272","Tracer 1.6 has option for categorical data but still won't load non-numerical trace files","Priority-Low, Tracer-1.6, Type-Defect"
+"752","Defect","Invalid","Medium","","","i am not able to run beast in Ubuntu server","Priority-Medium, Type-Defect"
+"751","Defect","Accepted","Medium","Release1.8.2","mdhall272","Full evaluation error","Milestone-Release1.8.2, Priority-Medium, Type-Defect, beast, v1.8.1"
+"750","Defect","Accepted","Medium","Release1.8.2","rambaut","-Infinity value always come out when i try to load xml","Milestone-Release1.8.2, Priority-Medium, Type-Defect, beast, v1.8.1"
+"749","Defect","Fixed","Medium","Release1.8.2","rambaut","Multiple partitions with unlinked substitution models can turn on ancestral state reconstruction","Milestone-Release1.8.2, Priority-Medium, Type-Defect, beauti, v1.8.1"
+"748","Defect","WontFix","Medium","","","TreeAnnotator: Sum of clade credibility score for tree reported wrongly when burnin is == 0","Priority-Medium, Type-Defect"
+"747","Defect","Fixed","Medium","Release1.8.2","msuchard","Duplicate references in robust counting with multiple partitions","Milestone-Release1.8.2, Priority-Medium, Type-Defect, beauti, v1.8.1"
+"746","Patch","Fixed","","","","Allows you to have a custom $HOME/lib directory","Type-Patch"
+"745","Defect","Fixed","Medium","Release1.8.2","rambaut","Removing an HPM from some parameters doesn't remove the model in the XML","1.8, Milestone-Release1.8.2, Priority-Medium, Type-Defect, beauti"
+"744","Defect","Invalid","Medium","","","BEAUTI does not start","Priority-Medium, Type-Defect"
+"743","Defect","Fixed","Medium","Release1.8.1","rambaut","Partitions in BEAUti should have the same number of taxa as the tree they are using.","Milestone-Release1.8.1, Priority-Medium, Type-Defect, beauti, v1.8.0"
+"742","Defect","Invalid","Medium","","","invalid values during phylogeographic inference in continious space","Priority-Medium, Type-Defect"
+"741","Defect","Fixed","Medium","Release1.8.1","philippe.lemey","Fix negative branch length issues when sampling taxa ages from precision, or set different (default) operator ","Milestone-Release1.8.1, Priority-Medium, Type-Defect"
+"740","Enhancement","Fixed","Medium","Release1.8.1","philippe.lemey","Add jitter option to continuous diffusion options in the BEAUti sites panel","Milestone-Release1.8.1, Priority-Medium, Type-Enhancement"
+"739","Defect","Accepted","Medium","Release1.8.1","mdhall272","Skygrid can reject all moves on popoulation sizes","Milestone-Release1.8.1, Priority-Medium, Type-Defect, beast, v1.8"
+"738","Defect","New","Medium","Release1.9","","Beauti not retaining settings when saved file is reopened.","1.8, Milestone-Release1.9, Priority-Medium, Type-Defect, beauti"
+"737","Defect","Accepted","Medium","Release1.6.1","mdhall272","Skyride reconstruction broken in Tracer 1.6","1.6, Milestone-Release1.6.1, Priority-Medium, Type-Defect, tracer"
+"736","","Invalid","","","","doubts Divergence Dating",""
+"735","Defect","Accepted","Medium","","mtolkoff","Row vs. Column Major in MatrixParameter Class","Priority-Medium, Type-Defect"
+"734","Defect","Fixed","Medium","Release1.8.1","","BEAUti duplicates leafHeight parameters in multiple partition XMLs","1.8, Milestone-Release1.8.1, Priority-Medium, Type-Defect, beauti"
+"733","Defect","Duplicate","Medium","","","Error random local clock","Priority-Medium, Type-Defect"
+"732","Defect","Invalid","Medium","","","SericolaLatentStateBranchRateModel.java is precluding succeful build","Priority-Medium, Type-Defect"
+"731","Enhancement","WontFix","Medium","","mdhall272","-seed option for MC3","Priority-Medium, Type-Enhancement"
+"730","Patch","New","","","","Patch for /trunk/build_coalsim.xml","Type-Patch"
+"729","Defect","Fixed","Low","Release1.8.1","mdhall272","Setting initial values for infinite uniform improper priors in BEAUTi","1.8, BEAUti, Milestone-Release1.8.1, Priority-Low, Type-Defect"
+"728","Defect","Fixed","Medium","Release1.8.1","rambaut","Having taxon sets defined without heights when using a user starting tree causes parsing issues.","BEAUti, Milestone-Release1.8.1, Priority-Medium, Type-Defect, v1.8"
+"727","Defect","Invalid","Medium","","mdhall272","NexusImporter and Markov Jumps CJH to tree","Priority-Medium, Type-Defect"
+"726","Defect","Fixed","Medium","","","BinaryCovarionModelTest.java is impeding successful building","Priority-Medium, Type-Defect"
+"725","Defect","Fixed","Medium","Release1.8.1","","BEAUti duplicates parameter id of Markov jumps for multiple traits.","1.8, Milestone-Release1.8.1, Priority-Medium, Type-Defect, beauti"
+"724","Defect","Accepted","Medium","Release1.9","msuchard","Dollo model does not appear to parse under BEAGLE","Milestone-Release1.9, Priority-Medium, Type-Defect"
+"723","Defect","Fixed","Medium","","msuchard","Conflict between -beagle_sse and -beagle_order/beagle_cuda","Priority-Medium, Type-Defect"
+"722","Defect","Fixed","Medium","Release1.8.1","rambaut","Complex charsets in nexus files don't parse","BEAUti, Milestone-Release1.8.1, Priority-Medium, Type-Defect, v1.8"
+"721","Enhancement","Accepted","Low","","alexander.alekseyenko","Create shortcuts for standard types of ascertainment","Priority-Low, Type-Enhancement"
+"720","Defect","Fixed","Medium","","philippe.lemey","LeafTraitExtractorParser required for next beast release in order to be able to sample continuous leaf traits","Priority-Medium, Type-Defect"
+"719","Defect","Fixed","Medium","","mdhall272","Markov Jumps parsing error","Priority-Medium, Type-Defect"
+"718","Defect","WontFix","Medium","Release1.8.1","rambaut","Bug in BEAUti which prevents it from emitting the updown operator in some cases, which can slow convergence","BEAUti, Milestone-Release1.8.1, Priority-Medium, Type-Defect"
+"717","Defect","Accepted","Medium","Release1.7","rambaut","Tracer not rescaling trace plot for multiple traces","1.6, Milestone-Release1.7, Priority-Medium, Tracer, Type-Defect"
+"716","Defect","New","Medium","","","BEAST microsatellite input format","Priority-Medium, Type-Defect"
+"715","Defect","Fixed","Medium","","philippe.lemey","TransformedTreeModelParser not part of BEAST1.8 (to run Pagel's lambda estimator)","Priority-Medium, Type-Defect"
+"714","Defect","Fixed","Medium","Release1.8.1","","sets block not recognized in 1.8","Beauti, Milestone-Release1.8.1, Priority-Medium, Type-Defect, v1.8"
+"713","Defect","Fixed","Medium","","","Error when compiling from trunk using ant build 25-11-2013 (problem in CategoryOutbreak.java)","Priority-Medium, Type-Defect"
+"712","Defect","Fixed","Medium","","trevor at bedford.io","Conflict between antigenicLikelihood and cacheBranches=false","Priority-Medium, Type-Defect"
+"711","Defect","Accepted","Medium","Release1.9","msuchard","Sum constraints for Dirichlet distribution","Milestone-Release1.9, Priority-Medium, Type-Defect"
+"710","Defect","Accepted","Medium","","rambaut","Concurrency issues when two threads access the same tree likelihood","BEAST, Priority-Medium, Type-Defect, v1.8"
+"709","Defect","Fixed","Medium","Release1.8.1","","MCMC tab in Beautie v1.8.0 problem with multiple unlinked loci","1.8, Milestone-Release1.8.1, Priority-Medium, Type-Defect, beauti"
+"708","Defect","WontFix","Medium","","","Unable to use -beagle_AVX","Priority-Medium, Type-Defect"
+"707","Enhancement","Accepted","Medium","Release1.9","msuchard","Add integrable versions of Skyride and SkyGrid to facilitate path sampling","Milestone-Release1.9, Priority-Medium, Type-Enhancement"
+"706","Enhancement","Fixed","Medium","Release1.8","","model selection and improper priors","BEAUti, Milestone-Release1.8, Priority-Medium, Type-Enhancement"
+"705","Enhancement","Accepted","Medium","","alexander.alekseyenko","Allow for recalculation of a subset of patterns","Priority-Medium, Type-Enhancement"
+"704","Defect","Fixed","Medium","Release1.8","rambaut","Guess dates function is affected by timezone of user","BEAUti, Milestone-Release1.8, Priority-Medium, Type-Defect, v1.7.5"
+"703","Defect","Fixed","Medium","Release1.8","baele.guy","Error combining Markov jumps with codon partitioned substitution model","BEAUti, Milestone-Release1.8, Priority-Medium, Type-Defect, v1.7.5"
+"702","Defect","Fixed","Medium","Release1.8","philippe.lemey","set the cmctScale prior as default for the trait.clock.rate in discrete trait analysis in BEAuti and include the estimation of root frequencies in the nonreversible model","BEAUti, Milestone-Release1.8, Priority-Medium, Type-Defect, v1.7.5"
+"701","Enhancement","Fixed","Medium","Release1.8","philippe.lemey","diffusionRateStatistic set-up in BEAuti","BEAUti, Milestone-Release1.8, Priority-Medium, Type-Enhancement, v1.7.5"
+"700","Enhancement","Fixed","Medium","Release1.8","philippe.lemey","A lognormal-RRW in BEAuti in addition to the cauchy/gamma RRWs","1.7.5, BEAUti, Milestone-Release1.8, Priority-Medium, Type-Enhancement"
+"699","Defect","Fixed","Medium","Release1.8","rambaut","BEAUti becomes unresponsive with 100s of partitions","BEAUti, Milestone-Release1.8, Priority-Medium, Type-Defect, v1.7.5"
+"698","Defect","Fixed","Medium","Release1.8","rambaut","Add a button to easy set precisions on multiple selected taxa.","BEAUti, Milestone-Release1.8, Priority-Medium, Type-Defect, v1.7.5"
+"697","Defect","Fixed","Medium","Release1.8","msuchard","Store/restore trouble with new BeagleTreeLikelihood","Milestone-Release1.8, Priority-Medium, Type-Defect"
+"696","Other","Invalid","Medium","","","If I choose unlinked option for trees in partition alignment the algorithm will make one tree for each gene?","Priority-Medium, Type-Other"
+"695","Defect","Fixed","Medium","Release1.8","","Implementing the Mk substitution model with BEAST and BEAGLE","Milestone-Release1.8, Priority-Medium, Type-Defect"
+"694","Defect","Duplicate","Medium","Release1.8","rambaut","BEAUti refresh error","BEAUti, Milestone-Release1.8, Priority-Medium, Type-Defect, v1.7.4"
+"693","Defect","Fixed","Medium","Release1.8","rambaut","Close all log files at the end of MCMC chain","1.7.4, Milestone-Release1.8, Priority-Medium, Type-Defect, beast"
+"692","Defect","Fixed","Medium","Release1.8","rambaut","PathSampling throws up an operator analysis after every iteration","Milestone-Release1.8, Priority-Medium, Type-Defect, v1.7.4"
+"691","Defect","Fixed","Medium","Release1.8","rambaut","Nexus importer doesn't allow spaces in nucleotide ranges","1.7.5, Milestone-Release1.8, Priority-Medium, Type-Defect"
+"690","Enhancement","Fixed","Medium","Release1.8","msuchard","Tracer to support skygrid reconstructions","Milestone-Release1.8, Priority-Medium, Type-Enhancement"
+"689","Defect","Fixed","Medium","","","ConcurrentModificationException in SimpleOperatorSchedule.java","Priority-Medium, Type-Defect"
+"688","Patch","Fixed","","","","TreeAnnotator report selected tree","Type-Patch"
+"687","Defect","Invalid","Medium","","","<rateCT> Missing from BEAUti GTR XML","Priority-Medium, Type-Defect"
+"686","Defect","Accepted","Medium","Release1.7","trevor at bedford.io","Logistic growth shape vs t50","Milestone-Release1.7, Priority-Medium, Type-Defect, tracer"
+"685","Defect","Fixed","Medium","Release1.8","rambaut","Creating multiple user starting trees for different partitions","BEAUti, Milestone-Release1.8, Priority-Medium, Type-Defect, v1.7.5"
+"684","Defect","Fixed","Medium","Release1.8","rambaut","Aspects of BEAUti model selection persists between windows","BEAUti, Milestone-Release1.8, Priority-Medium, Type-Defect, v1.7.5"
+"683","Defect","Fixed","Medium","","msuchard","RandomWalkOperator is reflecting negative value to positive","Priority-Medium, Type-Defect"
+"682","Defect","Fixed","Medium","Release1.8","rambaut","Saving/loading files in BEAUti doesn't completely restore the model","BEAUti, Milestone-Release1.8, Priority-Medium, Type-Defect, v1.7.5"
+"681","Defect","Fixed","Medium","Release1.8","trevor at bedford.io","BEASTMC3 app works.  beastmc3 fails quietly.","Milestone-Release1.8, Priority-Medium, Type-Defect, beast, v1.7.5"
+"680","Defect","Fixed","Medium","Release1.8","rambaut","Count state changes option in BEAUti doesn't generate a markovJumpsTreeLikelihood","BEAUti, Milestone-Release1.8, Priority-Medium, Type-Defect, v1.7.5"
+"679","Defect","Duplicate","Medium","Release1.8","rambaut","TreeModels allows a leafHeight parameter to be replaced multiple times","BEAST, Milestone-Release1.8, Priority-Medium, Type-Defect, v1.7.5"
+"678","Enhancement","New","Medium","","","BEAUti: add a ""organelle (plants)"" ploidy type with *BEAST","Priority-Medium, Type-Enhancement"
+"677","Defect","Fixed","Medium","Release1.7.6","dong.w.xie","Using Microsatellite loci for inferring one phylogenetic tree that uses all the loci","BEAUti, Milestone-Release1.7.6, Priority-Medium, Type-Defect"
+"676","Defect","Fixed","Medium","Release1.7.5","rambaut","Attempting to open a file that isn't a BEAUti file will now display a message warning about   loading a BEAST XML file. ","BEAUti, Milestone-Release1.7.5, Priority-Medium, Type-Defect, v1.7.4"
+"675","Defect","Fixed","Medium","Release1.7.5","rambaut","The BirthDeath(Calibrated) model was not generating the calibration distribution model.","BEAUti, Milestone-Release1.7.5, Priority-Medium, Type-Defect, v1.7.4"
+"674","Defect","Fixed","Low","","mdhall272","reciprocalStatistic requires an ID","Priority-Low, Type-Defect"
+"673","Defect","Invalid","Medium","","rambaut","BEAST Window closes before error message can be read","BEAST, Priority-Medium, Type-Defect, v1.7.4"
+"672","Defect","Fixed","Medium","Release1.7.5","","BEAUti duplicates rates in phylograms","BEAST, Milestone-Release1.7.5, Priority-Medium, Type-Defect, v1.7.4"
+"671","Defect","Fixed","Medium","Release1.7.5","rambaut","Exporting taxon names in Nexus format - names with apostrophes are enclosed in single quotes","Milestone-Release1.7.5, Priority-Medium, Type-Defect, beast, v1.7.4"
+"670","Defect","Invalid","Medium","","rambaut","Discrete trait codes that are entirely numerical cause issues","BEAST, Priority-Medium, Type-Defect"
+"669","Enhancement","Invalid","Medium","Release1.7.5","rambaut","AncestralTrait element should be able to log traits for tips.","BEAST, Milestone-Release1.7.5, Priority-Medium, Type-Enhancement"
+"668","Enhancement","Accepted","Medium","Release1.9","Sibon.Li","Relaxed clock default should be continuous? ","BEAUti, Milestone-Release1.9, Priority-Medium, Type-Enhancement"
+"667","Defect","Fixed","Medium","Release1.7.5","msuchard","Dollo ambiguity code is incorrect when using BEAUti's no data option.","Milestone-Release1.7.5, Priority-Medium, Type-Defect"
+"666","Defect","Fixed","Medium","Release1.7.5","rambaut","BEAUti should read charsets from sets blocks in NEXUS files","1.7.4, BEAUti, Milestone-Release1.7.5, Priority-Medium, Type-Defect"
+"665","Defect","Fixed","Medium","Release1.7.5","rambaut","The coalescent based simulator doesn't respect hard bounds placed on MRCAs of taxon sets","1.7.4, BEAUti, Milestone-Release1.7.5, Priority-Medium, Type-Defect"
+"664","Defect","Fixed","Medium","Release1.7.4","rambaut","Some priors are not being evaluated","BEAST, Milestone-Release1.7.4, Priority-Medium, Type-Defect, v1.7.3"
+"663","Enhancement","Fixed","Medium","Release1.8","rambaut","Add new command line option to specify the precision to which the full evaluation checks are made.","BEAST, Milestone-Release1.8, Priority-Medium, Type-Enhancement, v1.7.3"
+"662","Defect","Fixed","Medium","Release1.7.5","","problem with reconstructing synonymous/non-synonymous change counts","BEAST, Milestone-Release1.7.5, Priority-Medium, Type-Defect"
+This file is truncated to 100 out of 754 total results.  See https://code.google.com/p/beast-mcmc/issues/csv?can=1&q=&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary%20AllLabels&sort=-id&start=100 for the next set of results.
diff --git a/old_issue_list/open-issues.csv b/old_issue_list/open-issues.csv
new file mode 100644
index 0000000..ea34af0
--- /dev/null
+++ b/old_issue_list/open-issues.csv
@@ -0,0 +1,81 @@
+"ID","Type","Status","Priority","Milestone","Owner","Summary","AllLabels"
+"763","Defect","Accepted","Medium","Release1.8.3","rambaut","BEAUti creates a subtree slide operator with size zero when data is invariable","BEAUti, Milestone-Release1.8.3, Priority-Medium, Type-Defect, v1.8.2"
+"762","Defect","New","Medium","","","Spurious <coalescentEventsStatistic> block inserted in log when selecting skygrid","Priority-Medium, Type-Defect"
+"761","Defect","New","Medium","Release1.6.1","rambaut","Tracer BSP plots missing 10^-1 labels","1.6, Milestone-Release1.6.1, Priority-Medium, Tracer, Type-Defect"
+"760","Task","New","High","","rambaut","Export project to Github or another repo host","Priority-High, Type-Task"
+"759","Defect","New","Low","","","4 taxa were in the xml file but error messages of ""Tree with fewer than 3 taxa"" by BEAST","Priority-Low, Type-Defect"
+"753","Defect","Accepted","Low","","mdhall272","Tracer 1.6 has option for categorical data but still won't load non-numerical trace files","Priority-Low, Tracer-1.6, Type-Defect"
+"751","Defect","Accepted","Medium","Release1.8.2","mdhall272","Full evaluation error","Milestone-Release1.8.2, Priority-Medium, Type-Defect, beast, v1.8.1"
+"750","Defect","Accepted","Medium","Release1.8.2","rambaut","-Infinity value always come out when i try to load xml","Milestone-Release1.8.2, Priority-Medium, Type-Defect, beast, v1.8.1"
+"739","Defect","Accepted","Medium","Release1.8.1","mdhall272","Skygrid can reject all moves on popoulation sizes","Milestone-Release1.8.1, Priority-Medium, Type-Defect, beast, v1.8"
+"738","Defect","New","Medium","Release1.9","","Beauti not retaining settings when saved file is reopened.","1.8, Milestone-Release1.9, Priority-Medium, Type-Defect, beauti"
+"737","Defect","Accepted","Medium","Release1.6.1","mdhall272","Skyride reconstruction broken in Tracer 1.6","1.6, Milestone-Release1.6.1, Priority-Medium, Type-Defect, tracer"
+"735","Defect","Accepted","Medium","","mtolkoff","Row vs. Column Major in MatrixParameter Class","Priority-Medium, Type-Defect"
+"730","Patch","New","","","","Patch for /trunk/build_coalsim.xml","Type-Patch"
+"724","Defect","Accepted","Medium","Release1.9","msuchard","Dollo model does not appear to parse under BEAGLE","Milestone-Release1.9, Priority-Medium, Type-Defect"
+"721","Enhancement","Accepted","Low","","alexander.alekseyenko","Create shortcuts for standard types of ascertainment","Priority-Low, Type-Enhancement"
+"717","Defect","Accepted","Medium","Release1.7","rambaut","Tracer not rescaling trace plot for multiple traces","1.6, Milestone-Release1.7, Priority-Medium, Tracer, Type-Defect"
+"716","Defect","New","Medium","","","BEAST microsatellite input format","Priority-Medium, Type-Defect"
+"711","Defect","Accepted","Medium","Release1.9","msuchard","Sum constraints for Dirichlet distribution","Milestone-Release1.9, Priority-Medium, Type-Defect"
+"710","Defect","Accepted","Medium","","rambaut","Concurrency issues when two threads access the same tree likelihood","BEAST, Priority-Medium, Type-Defect, v1.8"
+"707","Enhancement","Accepted","Medium","Release1.9","msuchard","Add integrable versions of Skyride and SkyGrid to facilitate path sampling","Milestone-Release1.9, Priority-Medium, Type-Enhancement"
+"705","Enhancement","Accepted","Medium","","alexander.alekseyenko","Allow for recalculation of a subset of patterns","Priority-Medium, Type-Enhancement"
+"686","Defect","Accepted","Medium","Release1.7","trevor at bedford.io","Logistic growth shape vs t50","Milestone-Release1.7, Priority-Medium, Type-Defect, tracer"
+"678","Enhancement","New","Medium","","","BEAUti: add a ""organelle (plants)"" ploidy type with *BEAST","Priority-Medium, Type-Enhancement"
+"668","Enhancement","Accepted","Medium","Release1.9","Sibon.Li","Relaxed clock default should be continuous? ","BEAUti, Milestone-Release1.9, Priority-Medium, Type-Enhancement"
+"658","Review","Accepted","Medium","","rambaut","On line tutorials need refreshing","Component-Docs, Priority-Medium, Type-Review"
+"648","Defect","Accepted","Medium","Release1.9","rambaut","If you log a multivariate trait for a node to a log file then it is enclosed in curly braces","BEAST, Milestone-Release1.9, Priority-Medium, Type-Defect, v1.7.2"
+"613","Defect","Accepted","Medium","Release1.9","rambaut","CodonPartitionedRobustCounting gives Array Out Of Bounds Exception if codon position pattern lists are different sizes","BEAST, Milestone-Release1.9, Priority-Medium, Type-Defect, v1.7.1"
+"610","Defect","Accepted","Medium","","rambaut","Issue with using Random Local Clocks with -beagle_instances option.","BEAST, Priority-Medium, Type-Defect, v1.6.8"
+"566","Defect","Accepted","Medium","Release1.6","trevor at bedford.io","Tracer does not update y-axis properly for multiple traces","Milestone-Release1.6, Priority-Medium, Tracer, Type-Defect"
+"563","Enhancement","Accepted","Medium","","dong.w.xie","Speciation: Birth-death serially sampled model update","BEAST, BEAUti, Priority-Medium, Type-Enhancement"
+"561","Enhancement","Accepted","Low","","dong.w.xie","BEAST main adds an argument to add additional parsers ","1.6.2, BEAST, Priority-Low, Type-Enhancement"
+"504","Enhancement","Accepted","Low","","dong.w.xie","update the XML reference to include the Intermediate Exchange?","BEAST, Component-Docs, Priority-Low, Type-Enhancement"
+"497","Enhancement","Accepted","Medium","","dong.w.xie","full support of EBSP in Tracer","Priority-Medium, Tracer, Type-Enhancement"
+"496","Defect","Accepted","Medium","","rambaut","Operators in dr.inference.operators that have 'evolution' specific dependencies","BEAST, Priority-Medium, Type-Defect"
+"490","Defect","Accepted","Medium","","jheled","tree annotator crashes on (faulty?) nexus file","Priority-Medium, Type-Defect"
+"453","Enhancement","Accepted","Medium","","rambaut","Add some easy ways of importing taxon sets into BEAUti","BEAUti_v1.6.1, Priority-Medium, Type-Enhancement"
+"441","Enhancement","Accepted","Medium","","dong.w.xie","VariableCoalescentSimulator","Priority-Medium, Research, Type-Enhancement"
+"440","Defect","Accepted","Medium","","rambaut","Tracer hanging on manual range setting","Priority-Medium, Tracer, Type-Defect, v1.5"
+"378","Enhancement","Accepted","Medium","","rambaut","An easy way to include or exclude taxa (and/or taxon sets) from the xml file.","Priority-Medium, Type-Enhancement"
+"376","Enhancement","Accepted","Medium","","jheled","Tracer ESS significant digits","1.5, Priority-Medium, Tracer, Type-Enhancement"
+"366","Enhancement","Accepted","High","Release1.9","rambaut","BEAUti needs to read trait information when importing XMLs","BEAUti, Milestone-Release1.9, Priority-High, Type-Enhancement"
+"364","Enhancement","Accepted","Medium","","alexei.drummond","Rate/time rescaling of posterior","1.6, Priority-Medium, Type-Enhancement"
+"329","Enhancement","Accepted","High","Release1.9","rambaut","Suggest a standard demographic log file format","BEAUti, Milestone-Release1.9, Priority-High, Type-Enhancement"
+"318","Enhancement","Accepted","Medium","","dong.w.xie","BEAUti: different set of default prior and operator setting and reloading function ","1.6, BEAUti, Priority-Medium, Type-Enhancement"
+"309","Enhancement","Started","Medium","","msuchard","TRACER: Densities estimates are poor","Priority-Medium, Tracer, Type-Enhancement, v1.5"
+"301","Enhancement","Accepted","Medium","","rambaut","Restriction on using GMRF with unlinked trees","1.5.4, BEAUti, Priority-Medium, Type-Enhancement"
+"292","Enhancement","Accepted","Medium","","dong.w.xie","BEAST: Clarify the message when distort tree","1.5.4, BEAST, Priority-Medium, Type-Enhancement"
+"273","Enhancement","New","High","","dong.w.xie","Problems using Beast with blcr checkpointing","BEAST, Priority-High, Type-Enhancement"
+"246","Enhancement","Accepted","Medium","","dong.w.xie","BEAUTi: weak HKY-like Dirichlet prior for GTR relative rates","BEAUTi, Priority-Medium, Type-Enhancement, v1.5.2"
+"245","Other","New","Medium","","","*beast log files returns infinity for posterior and likelihood and a constant prior at aprox 22 million generations","BEAST, Priority-Medium, Type-Other, v1.5.2"
+"224","Task","Accepted","Medium","","dong.w.xie","Need to refactory dr.evomodel.arg.ARGModel, which has 4471 lines","BEAST1.5.2, Priority-Medium, Type-Task"
+"210","Enhancement","Accepted","Medium","","rambaut","Add ability to create columns in Tracer that are expressions of other columns","Priority-Medium, Tracer, Type-Enhancement, v1.4.1"
+"206","Enhancement","Accepted","Medium","","jheled","BEAUTi should support setting priors on species tree times","BEAUti, Priority-Medium, Type-Enhancement, v1.5.2"
+"187","Review","Accepted","Medium","","rambaut","Unify reading and writing of trees for utility programs","Priority-Medium, Type-Review"
+"177","Enhancement","Accepted","Medium","Release1.9","dong.w.xie","BEAUTi: a new Summary tab panel","BEAUTi1.5.1, Milestone-Release1.9, Priority-Medium, Type-Enhancement"
+"175","Enhancement","Accepted","Medium","","dong.w.xie","Remove all rate node parameters from tree model","BEAST1.5.1, Priority-Medium, Type-Enhancement"
+"171","Enhancement","Accepted","Medium","","dong.w.xie","Version update reminder in BEAUTi","BEAUTi1.5.1, Priority-Medium, Type-Enhancement"
+"167","Enhancement","Accepted","Medium","","beth.shapiro","Feature request: command-line BSP output from Tracer","Priority-Medium, Tracerv1.4.1, Type-Enhancement"
+"159","Task","Accepted","High","","dong.w.xie","GTR parameter estimation test","Priority-High, Type-Task"
+"153","Enhancement","Accepted","Medium","","jheled","Would be nice to have generic support for int,long,bool native internal BEAST parameter","Priority-Medium, Type-Enhancement"
+"152","Enhancement","Accepted","Medium","","jheled","reporting from inside xml","Priority-Medium, Type-Enhancement"
+"150","Enhancement","Accepted","Medium","","dong.w.xie","BEAUTi: save current settings and use them for future analyses","BEAUTiv1.5.1, Priority-Medium, Type-Enhancement"
+"149","Enhancement","Accepted","High","","dong.w.xie","Tracer: add another panel to plot auto-correlation","Priority-High, Tracer, Type-Enhancement"
+"143","Enhancement","Accepted","Medium","","dong.w.xie","BEAUTi: tidy up the order in the log for better comparesion in Tracer ","BEAUTiv1.5.1, Priority-Medium, Type-Enhancement"
+"141","Other","Accepted","Medium","","jheled","AbstractNucleotideModel","Priority-Medium, Type-Other"
+"132","Enhancement","Accepted","Low","","dong.w.xie","BEAUTi: add JC in subsititution model","Priority-Low, Type-Enhancement"
+"130","Enhancement","Accepted","Medium","","dong.w.xie","BEAUTi: prior setting should be assigned in its corresponding partition model.","BEAUTiv1.5, Priority-Medium, Type-Enhancement"
+"113","Enhancement","Accepted","Medium","","jheled","Beauti: allow to select multiple partition models: subst, clock, tree","BEAUTi1.5.1, Priority-Medium, Type-Enhancement"
+"112","Enhancement","Accepted","Medium","","jheled","improve the reporting of NEXUS reading failures in BEAUti","1.6, BEAUti, Priority-Medium, Type-Enhancement"
+"111","Task","Accepted","Medium","","dong.w.xie","Video tutorial for BEAUTi and BEAST v1.5","BEASTv1.5, Component-Docs, Priority-Medium, Type-Task"
+"93","Enhancement","Accepted","Medium","","dong.w.xie","BEAUTi defect regarding Logistic + Growth Rate prior, Autocorrelated Relaxed Clock, and Random Clock Model","Priority-Medium, Type-Enhancement"
+"90","Enhancement","Accepted","Medium","","jheled","tracerbounding box color","Priority-Medium, Type-Enhancement"
+"87","Enhancement","Accepted","High","","rambaut","Improve error handling in BEAST","Priority-High, Type-Enhancement, v1.5beta3"
+"85","Enhancement","Accepted","Low","","dong.w.xie","Add search filter above Included and Excluded taxa in Taxon Sets panel of BEAUti","Priority-Low, Type-Enhancement, beauti, v1.5beta3"
+"73","Enhancement","Accepted","Medium","","jheled","Tracer usability improvment","Priority-Medium, Type-Enhancement"
+"64","Task","Accepted","Medium","","victor.obolonkin","Fix all occurences of $Id$ to work with svn","Maintainability, Priority-Medium, Type-Task"
+"62","Enhancement","New","Low","","","Feature Request: Restarting","Priority-Low, Type-Enhancement, beast"
+"47","Other","Accepted","Medium","","jheled","exp-const-exp model has deterioreted ","Priority-Medium, Type-Other, tracer"
+"4","Enhancement","Accepted","Medium","","rambaut","Feature request: Exponential Bayesian Skyline","Priority-Medium, Type-Enhancement"
+
diff --git a/packaging_tools/mac/universalJavaApplicationStub b/packaging_tools/mac/universalJavaApplicationStub
new file mode 100644
index 0000000..686db22
--- /dev/null
+++ b/packaging_tools/mac/universalJavaApplicationStub
@@ -0,0 +1,308 @@
+#!/bin/sh
+##################################################################################
+#                                                                                #
+# universalJavaApplicationStub                                                   #
+#                                                                                #
+#                                                                                #
+# A shellscript JavaApplicationStub for Java Apps on Mac OS X                    #
+# that works with both Apple's and Oracle's plist format.                        #
+#                                                                                #
+# Inspired by Ian Roberts stackoverflow answer                                   #
+# at http://stackoverflow.com/a/17546508/1128689                                 #
+#                                                                                #
+#                                                                                #
+# @author    Tobias Fischer                                                      #
+# @url       https://github.com/tofi86/universalJavaApplicationStub              #
+# @date      2015-05-15                                                          #
+# @version   0.9.0                                                               #
+#                                                                                #
+#                                                                                #
+##################################################################################
+#                                                                                #
+#                                                                                #
+# The MIT License (MIT)                                                          #
+#                                                                                #
+# Copyright (c) 2015 Tobias Fischer                                              #
+#                                                                                #
+# 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.                                                                      #
+#                                                                                #
+##################################################################################
+
+
+
+
+#
+# resolve symlinks
+#####################
+
+PRG=$0
+
+while [ -h "$PRG" ]; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '^.*-> \(.*\)$' 2>/dev/null`
+    if expr "$link" : '^/' 2> /dev/null >/dev/null; then
+        PRG="$link"
+    else
+        PRG="`dirname "$PRG"`/$link"
+    fi
+done
+
+# set the directory abspath of the current shell script
+PROGDIR=`dirname "$PRG"`
+
+
+
+
+#
+# set files and folders
+############################################
+
+# the absolute path of the app package
+cd "$PROGDIR"/../../
+AppPackageFolder=`pwd`
+
+# the base path of the app package
+cd ..
+AppPackageRoot=`pwd`
+
+# set Apple's Java folder
+AppleJavaFolder="${AppPackageFolder}"/Contents/Resources/Java
+
+# set Apple's Resources folder
+AppleResourcesFolder="${AppPackageFolder}"/Contents/Resources
+
+# set Oracle's Java folder
+OracleJavaFolder="${AppPackageFolder}"/Contents/Java
+
+# set Oracle's Resources folder
+OracleResourcesFolder="${AppPackageFolder}"/Contents/Resources
+
+# set path to Info.plist in bundle
+InfoPlistFile="${AppPackageFolder}"/Contents/Info.plist
+
+# set the default JVM Version to a null string
+JVMVersion=""
+
+
+
+#
+# read Info.plist and extract JVM options
+############################################
+
+
+# read the program name from CFBundleName
+CFBundleName=`/usr/libexec/PlistBuddy -c "print :CFBundleName" "${InfoPlistFile}"`
+
+# read the icon file name
+CFBundleIconFile=`/usr/libexec/PlistBuddy -c "print :CFBundleIconFile" "${InfoPlistFile}"`
+
+
+# check Info.plist for Apple style Java keys -> if key :Java is present, parse in apple mode
+/usr/libexec/PlistBuddy -c "print :Java" "${InfoPlistFile}" > /dev/null 2>&1
+exitcode=$?
+JavaKey=":Java"
+
+# if no :Java key is present, check Info.plist for universalJavaApplication style JavaX keys -> if key :JavaX is present, parse in apple mode
+if [ $exitcode -ne 0 ]; then
+	/usr/libexec/PlistBuddy -c "print :JavaX" "${InfoPlistFile}" > /dev/null 2>&1
+	exitcode=$?
+	JavaKey=":JavaX"
+fi
+
+
+# read Info.plist in Apple style if exit code returns 0 (true, :Java key is present)
+if [ $exitcode -eq 0 ]; then
+
+	# set Java and Resources folder
+	JavaFolder="${AppleJavaFolder}"
+	ResourcesFolder="${AppleResourcesFolder}"
+
+	APP_PACKAGE="${AppPackageFolder}"
+	JAVAROOT="${AppleJavaFolder}"
+	USER_HOME="$HOME"
+
+
+	# read the Java WorkingDirectory
+	JVMWorkDir=`/usr/libexec/PlistBuddy -c "print ${JavaKey}:WorkingDirectory" "${InfoPlistFile}" 2> /dev/null | xargs`
+	
+	# set Working Directory based upon Plist info
+	if [[ ! -z ${JVMWorkDir} ]]; then
+		WorkingDirectory="${JVMWorkDir}"
+	else
+		# AppPackageRoot is the standard WorkingDirectory when the script is started
+		WorkingDirectory="${AppPackageRoot}"
+	fi
+
+	# expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
+	WorkingDirectory=`eval "echo ${WorkingDirectory}"`
+
+
+	# read the MainClass name
+	JVMMainClass=`/usr/libexec/PlistBuddy -c "print ${JavaKey}:MainClass" "${InfoPlistFile}" 2> /dev/null`
+
+	# read the JVM Options
+	JVMOptions=`/usr/libexec/PlistBuddy -c "print ${JavaKey}:Properties" "${InfoPlistFile}" 2> /dev/null | grep " =" | sed 's/^ */-D/g' | tr '\n' ' ' | sed 's/  */ /g' | sed 's/ = /=/g' | xargs`
+
+	# read StartOnMainThread
+	JVMStartOnMainThread=`/usr/libexec/PlistBuddy -c "print ${JavaKey}:StartOnMainThread" "${InfoPlistFile}" 2> /dev/null`
+	if [ "${JVMStartOnMainThread}" == "true" ]; then
+		echo ${JVMStartOnMainThread} > ~/Desktop/test.txt
+		JVMOptions+=" -XstartOnFirstThread"
+	fi
+
+	# read the ClassPath in either Array or String style
+	JVMClassPath_RAW=`/usr/libexec/PlistBuddy -c "print ${JavaKey}:ClassPath" "${InfoPlistFile}" 2> /dev/null`
+	if [[ $JVMClassPath_RAW == *Array* ]] ; then
+		JVMClassPath=.`/usr/libexec/PlistBuddy -c "print ${JavaKey}:ClassPath" "${InfoPlistFile}" 2> /dev/null | grep "    " | sed 's/^ */:/g' | tr -d '\n' | xargs`
+	else
+		JVMClassPath=${JVMClassPath_RAW}
+	fi
+	# expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
+	JVMClassPath=`eval "echo ${JVMClassPath}"`
+
+	# read the JVM Default Options
+	JVMDefaultOptions=`/usr/libexec/PlistBuddy -c "print ${JavaKey}:VMOptions" "${InfoPlistFile}" 2> /dev/null | xargs`
+
+	# read the JVM Arguments
+	JVMArguments=`/usr/libexec/PlistBuddy -c "print ${JavaKey}:Arguments" "${InfoPlistFile}" 2> /dev/null | xargs`
+
+    # read the Java version we want to find
+    JVMVersion=`/usr/libexec/PlistBuddy -c "print ${JavaKey}:JVMVersion" "${InfoPlistFile}" 2> /dev/null | xargs`
+
+# read Info.plist in Oracle style
+else
+
+	# set Working Directory and Java and Resources folder
+	JavaFolder="${OracleJavaFolder}"
+	ResourcesFolder="${OracleResourcesFolder}"
+	WorkingDirectory="${OracleJavaFolder}"
+
+	APP_ROOT="${AppPackageFolder}"
+
+	# read the MainClass name
+	JVMMainClass=`/usr/libexec/PlistBuddy -c "print :JVMMainClassName" "${InfoPlistFile}" 2> /dev/null`
+
+	# read the JVM Options
+	JVMOptions=`/usr/libexec/PlistBuddy -c "print :JVMOptions" "${InfoPlistFile}" 2> /dev/null | grep " -" | tr -d '\n' | sed 's/  */ /g' | xargs`
+	# replace occurances of $APP_ROOT with it's content
+	JVMOptions=`eval "echo ${JVMOptions}"`
+
+	JVMClassPath="${JavaFolder}/*"
+
+	# read the JVM Default Options
+	JVMDefaultOptions=`/usr/libexec/PlistBuddy -c "print :JVMDefaultOptions" "${InfoPlistFile}" 2> /dev/null | grep -o "\-.*" | tr -d '\n' | xargs`
+
+	# read the JVM Arguments
+	JVMArguments=`/usr/libexec/PlistBuddy -c "print :JVMArguments" "${InfoPlistFile}" 2> /dev/null | tr -d '\n' | sed -E 's/Array \{ *(.*) *\}/\1/g' | sed 's/  */ /g' | xargs`
+	# replace occurances of $APP_ROOT with it's content
+	JVMArguments=`eval "echo ${JVMArguments}"`
+fi
+
+
+
+
+#
+# find installed Java versions
+#################################
+
+# first check system variable "$JAVA_HOME"
+if [ -n "$JAVA_HOME" ] ; then
+	JAVACMD="$JAVA_HOME/bin/java"
+	
+# check for specified JVMversion in "/usr/libexec/java_home" symlinks
+elif [ ! -z ${JVMVersion} ] && [ -x /usr/libexec/java_home ] && /usr/libexec/java_home -F; then
+
+	if /usr/libexec/java_home -F -v ${JVMVersion}; then
+		JAVACMD="`/usr/libexec/java_home -F -v ${JVMVersion} 2> /dev/null`/bin/java"
+	else
+		# display error message with applescript
+		osascript -e "tell application \"System Events\" to display dialog \"ERROR launching '${CFBundleName}'\n\nNo suitable Java version found on your system!\nThis program requires Java ${JVMVersion}\nMake sure you install the required Java version.\" with title \"${CFBundleName}\" buttons {\" OK \"} default button 1 with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)"
+		# exit with error
+		exit 3
+	fi
+
+# otherwise check "/usr/libexec/java_home" symlinks
+elif [ -x /usr/libexec/java_home ] && /usr/libexec/java_home -F; then
+	JAVACMD="`/usr/libexec/java_home 2> /dev/null`/bin/java"
+
+# otherwise check Java standard symlink (old Apple Java)
+elif [ -h /Library/Java/Home ]; then
+	JAVACMD="/Library/Java/Home/bin/java"
+
+# fallback: public JRE plugin (Oracle Java)
+else
+	JAVACMD="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java"
+fi
+
+# fallback fallback: /usr/bin/java
+# but this would prompt to install deprecated Apple Java 6
+
+
+
+
+#
+# execute JAVA commandline and do some pre-checks
+####################################################
+
+# display error message if MainClassName is empty
+if [ -z ${JVMMainClass} ]; then
+	# display error message with applescript
+	osascript -e "tell application \"System Events\" to display dialog \"ERROR launching '${CFBundleName}'!\n\n'MainClass' isn't specified!\nJava application cannot be started!\" with title \"${CFBundleName}\" buttons {\" OK \"} default button 1 with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)"
+	# exit with error
+	exit 2
+
+
+# check whether $JAVACMD is a file and executable
+elif [ -f "$JAVACMD" ] && [ -x "$JAVACMD" ] ; then
+
+	# enable drag&drop to the dock icon
+	export CFProcessPath="$0"
+
+	# change to Working Directory based upon Apple/Oracle Plist info
+	cd "${WorkingDirectory}"
+
+	# execute Java and set
+	#	- classpath
+	#	- dock icon
+	#	- application name
+	#	- JVM options
+	#	- JVM default options
+	#	- main class
+	#	- JVM arguments
+	exec "$JAVACMD" \
+			-cp "${JVMClassPath}" \
+			-Xdock:icon="${ResourcesFolder}/${CFBundleIconFile}" \
+			-Xdock:name="${CFBundleName}" \
+			${JVMOptions:+$JVMOptions }\
+			${JVMDefaultOptions:+$JVMDefaultOptions }\
+			${JVMMainClass}\
+			${JVMArguments:+ $JVMArguments}
+
+
+else
+
+	# display error message with applescript
+	osascript -e "tell application \"System Events\" to display dialog \"ERROR launching '${CFBundleName}'!\n\nYou need to have JAVA installed on your Mac!\nVisit http://java.com for more information...\" with title \"${CFBundleName}\" buttons {\" OK \"} default button 1 with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)"
+
+	# and open java.com
+	open http://java.com
+
+	# exit with error
+	exit 1
+fi
diff --git a/packaging_tools/windows/launch4j/.classpath b/packaging_tools/windows/launch4j/.classpath
new file mode 100644
index 0000000..36815f9
--- /dev/null
+++ b/packaging_tools/windows/launch4j/.classpath
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" output="demo/SimpleApp/build" path="demo/SimpleApp/src"/>
+	<classpathentry kind="src" output="demo/ConsoleApp/build" path="demo/ConsoleApp/src"/>
+	<classpathentry kind="lib" path="lib/formsrt.jar"/>
+	<classpathentry kind="lib" path="lib/xstream.jar"/>
+	<classpathentry kind="lib" path="lib/commons-beanutils.jar"/>
+	<classpathentry kind="lib" path="lib/commons-logging.jar"/>
+	<classpathentry kind="lib" path="lib/foxtrot.jar"/>
+	<classpathentry kind="lib" path="lib/ant.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6"/>
+	<classpathentry kind="lib" path="lib/jgoodies-common.jar"/>
+	<classpathentry kind="lib" path="lib/jgoodies-forms.jar"/>
+	<classpathentry kind="lib" path="lib/jgoodies-looks.jar"/>
+	<classpathentry kind="output" path="build"/>
+</classpath>
diff --git a/packaging_tools/windows/launch4j/.gitignore b/packaging_tools/windows/launch4j/.gitignore
new file mode 100644
index 0000000..c3dca1b
--- /dev/null
+++ b/packaging_tools/windows/launch4j/.gitignore
@@ -0,0 +1,2 @@
+/build
+/target
diff --git a/packaging_tools/windows/launch4j/.project b/packaging_tools/windows/launch4j/.project
new file mode 100644
index 0000000..0607fa0
--- /dev/null
+++ b/packaging_tools/windows/launch4j/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>launch4j</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/packaging_tools/windows/launch4j/.settings/org.eclipse.core.resources.prefs b/packaging_tools/windows/launch4j/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/packaging_tools/windows/launch4j/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/packaging_tools/windows/launch4j/.settings/org.eclipse.core.runtime.prefs b/packaging_tools/windows/launch4j/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/packaging_tools/windows/launch4j/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/packaging_tools/windows/launch4j/.settings/org.eclipse.jdt.core.prefs b/packaging_tools/windows/launch4j/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c52892e
--- /dev/null
+++ b/packaging_tools/windows/launch4j/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,81 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/packaging_tools/windows/launch4j/LICENSE.txt b/packaging_tools/windows/launch4j/LICENSE.txt
new file mode 100644
index 0000000..bf03c83
--- /dev/null
+++ b/packaging_tools/windows/launch4j/LICENSE.txt
@@ -0,0 +1,30 @@
+Launch4j (http://launch4j.sourceforge.net/)
+Cross-platform Java application wrapper for creating Windows native executables.
+
+Copyright (c) 2004, 2015 Grzegorz Kowal
+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. Neither the name of the copyright holder 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 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 HOLDER 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.
\ No newline at end of file
diff --git a/packaging_tools/windows/launch4j/build.xml b/packaging_tools/windows/launch4j/build.xml
new file mode 100644
index 0000000..cc6de16
--- /dev/null
+++ b/packaging_tools/windows/launch4j/build.xml
@@ -0,0 +1,73 @@
+<project name="launch4j" default="compile" basedir=".">
+	<property name="src" location="src" />
+	<property name="lib" location="lib" />
+	<property name="build" location="build" />
+	<property name="jar" location="./${ant.project.name}.jar" />
+	<property name="launch4j.dir" location="." />
+	<property name="maven" location="maven" />
+
+	<path id="dist.classpath">
+		<pathelement path="${build}" />
+		<fileset dir="${lib}">
+			<include name="**/*.jar" />
+		</fileset>
+	</path>
+
+	<target name="init">
+		<tstamp />
+		<mkdir dir="${build}" />
+	</target>
+
+	<target name="compile" depends="init" description="compile the source">
+		<javac srcdir="${src}" destdir="${build}" classpathref="dist.classpath" source="1.6" debug="on" includeantruntime="false" />
+		<copy todir="${build}/images">
+			<fileset dir="${src}/images">
+				<include name="**/*" />
+			</fileset>
+		</copy>
+		<copy todir="${build}">
+			<fileset dir="${src}">
+				<include name="**/*.properties" />
+			</fileset>
+		</copy>
+	</target>
+
+	<target name="jar" depends="compile" description="create jar">
+		<fileset dir="${lib}" id="lib.dist.fileset">
+			<include name="**/*.jar" />
+		</fileset>
+		<pathconvert pathsep=" " property="dist.classpath" refid="lib.dist.fileset">
+			<map from="${lib}" to="./lib" />
+		</pathconvert>
+		<!-- Put everything in ${build} into a jar file -->
+		<jar jarfile="${jar}">
+			<fileset dir="${build}" excludes="**/messages_es.properties" />
+			<manifest>
+				<attribute name="Main-Class" value="net.sf.launch4j.Main" />
+				<attribute name="Class-Path" value=". ${dist.classpath}" />
+			</manifest>
+		</jar>
+	</target>
+
+	<target name="demo" depends="jar" description="build the demos">
+		<ant dir="./demo/ConsoleApp" inheritAll="false" />
+		<ant dir="./demo/SimpleApp" inheritAll="false" />
+	</target>
+
+	<target name="clean" description="clean up">
+		<delete dir="${build}" />
+		<delete file="${jar}" />
+		<ant dir="./demo/ConsoleApp" target="clean" inheritAll="false" />
+		<ant dir="./demo/SimpleApp" target="clean" inheritAll="false" />
+	</target>
+	
+	<target name="switch-to-maven" description="switch project to maven">
+		<copy todir="." overwrite="true">
+			<fileset dir="${maven}">
+				<include name="**/*" />
+			</fileset>
+		</copy>
+		<delete dir="${lib}" />
+		<mkdir dir="./target" />
+	</target>
+</project>
diff --git a/packaging_tools/windows/launch4j/demo/ConsoleApp/.gitignore b/packaging_tools/windows/launch4j/demo/ConsoleApp/.gitignore
new file mode 100644
index 0000000..796b96d
--- /dev/null
+++ b/packaging_tools/windows/launch4j/demo/ConsoleApp/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/packaging_tools/windows/launch4j/demo/ConsoleApp/build.xml b/packaging_tools/windows/launch4j/demo/ConsoleApp/build.xml
new file mode 100644
index 0000000..78be0ae
--- /dev/null
+++ b/packaging_tools/windows/launch4j/demo/ConsoleApp/build.xml
@@ -0,0 +1,57 @@
+<project name="ConsoleApp" default="exe" basedir=".">
+	<property name="src" location="src" />
+	<property name="lib" location="lib" />
+	<property name="build" location="build" />
+	<property name="launch4j.dir" location="../.." />
+
+	<path id="dist.classpath">
+		<pathelement path="${build}" />
+		<fileset dir="${lib}">
+			<include name="**/*.jar" />
+		</fileset>
+	</path>
+
+	<target name="init">
+		<tstamp />
+		<mkdir dir="${build}" />
+	</target>
+
+	<target name="compile" depends="init" description="compile the source">
+		<javac srcdir="${src}" destdir="${build}" classpathref="dist.classpath" source="1.6" debug="on" includeantruntime="false" />
+	</target>
+
+	<target name="jar" depends="compile" description="create the jar">
+		<fileset dir="${lib}" id="lib.dist.fileset">
+			<include name="**/*.jar" />
+		</fileset>
+		<pathconvert pathsep=" " property="dist.classpath" refid="lib.dist.fileset">
+			<map from="${lib}" to=".\lib" />
+		</pathconvert>
+		<!-- Put everything in ${build} into a jar file -->
+		<jar jarfile="${ant.project.name}.jar">
+			<fileset dir="${build}" includes="**/*" />
+			<manifest>
+				<!-- SET YOUR MAIN CLASS HERE -->
+				<attribute name="Main-Class" value="net.sf.launch4j.example.ConsoleApp" />
+				<attribute name="Class-Path" value=". ${dist.classpath}" />
+			</manifest>
+		</jar>
+	</target>
+
+	<target name="exe" depends="jar">
+		<taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask" classpath="${launch4j.dir}/launch4j.jar
+		    :${launch4j.dir}/lib/xstream.jar" />
+		<launch4j>
+			<config headerType="console" jar="ConsoleApp.jar" outfile="ConsoleApp.exe" errTitle="ConsoleApp" chdir="." icon="l4j/ConsoleApp.ico">
+				<singleInstance mutexName="net.sf.launch4j.example.ConsoleApp" />
+				<jre minVersion="1.6.0" />
+			</config>
+		</launch4j>
+	</target>
+
+	<target name="clean" description="clean up">
+		<delete dir="${build}" />
+		<delete file="${ant.project.name}.jar" />
+		<delete file="${ant.project.name}.exe" />
+	</target>
+</project>
diff --git a/packaging_tools/windows/launch4j/demo/ConsoleApp/l4j/ConsoleApp.ico b/packaging_tools/windows/launch4j/demo/ConsoleApp/l4j/ConsoleApp.ico
new file mode 100644
index 0000000..cc4c540
Binary files /dev/null and b/packaging_tools/windows/launch4j/demo/ConsoleApp/l4j/ConsoleApp.ico differ
diff --git a/packaging_tools/windows/launch4j/demo/ConsoleApp/lib/readme.txt b/packaging_tools/windows/launch4j/demo/ConsoleApp/lib/readme.txt
new file mode 100644
index 0000000..a40a6b9
--- /dev/null
+++ b/packaging_tools/windows/launch4j/demo/ConsoleApp/lib/readme.txt
@@ -0,0 +1,8 @@
+Put your jar libs here and the build script will include them
+in the classpath stored inside the jar manifest.
+In order to run your application move the output exe file from
+the dist directory to the same level as lib. 
+
+SimpleApp.exe
+lib/
+lib/xml.jar
diff --git a/packaging_tools/windows/launch4j/demo/ConsoleApp/readme.txt b/packaging_tools/windows/launch4j/demo/ConsoleApp/readme.txt
new file mode 100644
index 0000000..f971cd6
--- /dev/null
+++ b/packaging_tools/windows/launch4j/demo/ConsoleApp/readme.txt
@@ -0,0 +1 @@
+To build the example application set JAVA_HOME and ANT_HOME environment variables.
diff --git a/packaging_tools/windows/launch4j/demo/ConsoleApp/src/net/sf/launch4j/example/ConsoleApp.java b/packaging_tools/windows/launch4j/demo/ConsoleApp/src/net/sf/launch4j/example/ConsoleApp.java
new file mode 100644
index 0000000..57dd324
--- /dev/null
+++ b/packaging_tools/windows/launch4j/demo/ConsoleApp/src/net/sf/launch4j/example/ConsoleApp.java
@@ -0,0 +1,72 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+package net.sf.launch4j.example;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class ConsoleApp {
+    public static void main(String[] args) {
+		StringBuffer sb = new StringBuffer("Hello World!\n\nJava version: ");
+		sb.append(System.getProperty("java.version"));
+		sb.append("\nJava home: ");
+		sb.append(System.getProperty("java.home"));
+		sb.append("\nCurrent dir: ");
+		sb.append(System.getProperty("user.dir"));
+		if (args.length > 0) {
+			sb.append("\nArgs: ");
+			for (int i = 0; i < args.length; i++) {
+				sb.append(args[i]);
+				sb.append(' ');
+			}
+		}
+		sb.append("\n\nEnter a line of text, 'quit' or Ctrl-C to stop.\n\n>");
+		System.out.print(sb.toString());
+		try {
+			BufferedReader is = new BufferedReader(new InputStreamReader(System.in));
+			String line;
+			while ((line = is.readLine()) != null && !line.equalsIgnoreCase("quit")) {
+				System.out.print("You wrote: " + line + "\n\n>");
+			}
+			is.close();
+			System.exit(123);
+		} catch (IOException e) {
+			System.err.print(e);
+		}
+    }
+}
diff --git a/packaging_tools/windows/launch4j/demo/LICENSE.txt b/packaging_tools/windows/launch4j/demo/LICENSE.txt
new file mode 100644
index 0000000..b778408
--- /dev/null
+++ b/packaging_tools/windows/launch4j/demo/LICENSE.txt
@@ -0,0 +1,30 @@
+Launch4j (http://launch4j.sourceforge.net/)
+Cross-platform Java application wrapper for creating Windows native executables.
+
+Copyright (c) 2004, 2015 Grzegorz Kowal
+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. Neither the name of the copyright holder 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 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 HOLDER 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.
diff --git a/packaging_tools/windows/launch4j/demo/SimpleApp/.gitignore b/packaging_tools/windows/launch4j/demo/SimpleApp/.gitignore
new file mode 100644
index 0000000..796b96d
--- /dev/null
+++ b/packaging_tools/windows/launch4j/demo/SimpleApp/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/packaging_tools/windows/launch4j/demo/SimpleApp/build.xml b/packaging_tools/windows/launch4j/demo/SimpleApp/build.xml
new file mode 100644
index 0000000..9b6aae0
--- /dev/null
+++ b/packaging_tools/windows/launch4j/demo/SimpleApp/build.xml
@@ -0,0 +1,52 @@
+<project name="SimpleApp" default="exe" basedir=".">
+	<property name="src" location="src" />
+	<property name="lib" location="lib" />
+	<property name="build" location="build" />
+	<property name="launch4j.dir" location="../.." />
+
+	<path id="dist.classpath">
+		<pathelement path="${build}" />
+		<fileset dir="${lib}">
+			<include name="**/*.jar" />
+		</fileset>
+	</path>
+
+	<target name="init">
+		<tstamp />
+		<mkdir dir="${build}" />
+	</target>
+
+	<target name="compile" depends="init" description="compile the source">
+		<javac srcdir="${src}" destdir="${build}" classpathref="dist.classpath" source="1.6" debug="on" includeantruntime="false" />
+	</target>
+
+	<target name="jar" depends="compile" description="create the jar">
+		<fileset dir="${lib}" id="lib.dist.fileset">
+			<include name="**/*.jar" />
+		</fileset>
+		<pathconvert pathsep=" " property="dist.classpath" refid="lib.dist.fileset">
+			<map from="${lib}" to=".\lib" />
+		</pathconvert>
+		<!-- Put everything in ${build} into a jar file -->
+		<jar jarfile="${ant.project.name}.jar">
+			<fileset dir="${build}" includes="**/*" />
+			<manifest>
+				<!-- SET YOUR MAIN CLASS HERE -->
+				<attribute name="Main-Class" value="net.sf.launch4j.example.SimpleApp" />
+				<attribute name="Class-Path" value=". ${dist.classpath}" />
+			</manifest>
+		</jar>
+	</target>
+
+	<target name="exe" depends="jar">
+		<taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask" classpath="${launch4j.dir}/launch4j.jar
+		    :${launch4j.dir}/lib/xstream.jar" />
+		<launch4j configFile="./l4j/SimpleApp.xml" />
+	</target>
+
+	<target name="clean" description="clean up">
+		<delete dir="${build}" />
+		<delete file="${ant.project.name}.jar" />
+		<delete file="${ant.project.name}.exe" />
+	</target>
+</project>
diff --git a/packaging_tools/windows/launch4j/demo/SimpleApp/l4j/SimpleApp.ico b/packaging_tools/windows/launch4j/demo/SimpleApp/l4j/SimpleApp.ico
new file mode 100644
index 0000000..cc4c540
Binary files /dev/null and b/packaging_tools/windows/launch4j/demo/SimpleApp/l4j/SimpleApp.ico differ
diff --git a/packaging_tools/windows/launch4j/demo/SimpleApp/l4j/SimpleApp.xml b/packaging_tools/windows/launch4j/demo/SimpleApp/l4j/SimpleApp.xml
new file mode 100644
index 0000000..bb5804d
--- /dev/null
+++ b/packaging_tools/windows/launch4j/demo/SimpleApp/l4j/SimpleApp.xml
@@ -0,0 +1,18 @@
+<launch4jConfig>
+  <headerType>gui</headerType>
+  <jar>../SimpleApp.jar</jar>
+  <outfile>../SimpleApp.exe</outfile>
+  <errTitle>SimpleApp</errTitle>
+  <chdir>.</chdir>
+  <icon>SimpleApp.ico</icon>
+  <restartOnCrash>true</restartOnCrash>
+  <jre>
+    <minVersion>1.6.0</minVersion>
+  </jre>
+  <splash>
+    <file>splash.bmp</file>
+    <waitForWindow>true</waitForWindow>
+    <timeout>60</timeout>
+    <timeoutErr>true</timeoutErr>
+  </splash>
+</launch4jConfig>
\ No newline at end of file
diff --git a/packaging_tools/windows/launch4j/demo/SimpleApp/l4j/splash.bmp b/packaging_tools/windows/launch4j/demo/SimpleApp/l4j/splash.bmp
new file mode 100644
index 0000000..88d7bbf
Binary files /dev/null and b/packaging_tools/windows/launch4j/demo/SimpleApp/l4j/splash.bmp differ
diff --git a/packaging_tools/windows/launch4j/demo/SimpleApp/lib/readme.txt b/packaging_tools/windows/launch4j/demo/SimpleApp/lib/readme.txt
new file mode 100644
index 0000000..a40a6b9
--- /dev/null
+++ b/packaging_tools/windows/launch4j/demo/SimpleApp/lib/readme.txt
@@ -0,0 +1,8 @@
+Put your jar libs here and the build script will include them
+in the classpath stored inside the jar manifest.
+In order to run your application move the output exe file from
+the dist directory to the same level as lib. 
+
+SimpleApp.exe
+lib/
+lib/xml.jar
diff --git a/packaging_tools/windows/launch4j/demo/SimpleApp/readme.txt b/packaging_tools/windows/launch4j/demo/SimpleApp/readme.txt
new file mode 100644
index 0000000..f971cd6
--- /dev/null
+++ b/packaging_tools/windows/launch4j/demo/SimpleApp/readme.txt
@@ -0,0 +1 @@
+To build the example application set JAVA_HOME and ANT_HOME environment variables.
diff --git a/packaging_tools/windows/launch4j/demo/SimpleApp/src/net/sf/launch4j/example/SimpleApp.java b/packaging_tools/windows/launch4j/demo/SimpleApp/src/net/sf/launch4j/example/SimpleApp.java
new file mode 100644
index 0000000..51d1109
--- /dev/null
+++ b/packaging_tools/windows/launch4j/demo/SimpleApp/src/net/sf/launch4j/example/SimpleApp.java
@@ -0,0 +1,122 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+package net.sf.launch4j.example;
+
+import java.awt.Dimension;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.JFrame;
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JMenuItem;
+import javax.swing.JOptionPane;
+import javax.swing.UIManager;
+
+public class SimpleApp extends JFrame {
+    public SimpleApp(String[] args) {
+        super("Java Application");
+
+        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
+		setBounds (screenSize.width / 4, screenSize.height / 4, screenSize.width / 2, screenSize.height / 2);
+
+		JMenu menu = new JMenu("File");
+		menu.add(new JMenuItem("Open"));
+		menu.add(new JMenuItem("Save"));
+		
+		menu.addSeparator();
+		
+		menu.add(new JMenuItem(new AbstractAction("Exit with code 0") {
+			@Override
+			public void actionPerformed(ActionEvent e) {
+				System.exit(0);
+			}
+		}));
+		
+		menu.add(new JMenuItem(new AbstractAction("Exit with code 100 and restart the application") {
+			@Override
+			public void actionPerformed(ActionEvent e) {
+				System.exit(100);
+			}
+		}));
+		
+		JMenuBar mb = new JMenuBar();
+		mb.setOpaque(true);
+		mb.add(menu);
+		setJMenuBar(mb);
+
+		this.addWindowListener(new WindowAdapter() {
+	    	public void windowClosing(WindowEvent e) {
+				System.exit(0);
+		}});
+		setVisible(true);
+
+		StringBuffer sb = new StringBuffer("Java version: ");
+		sb.append(System.getProperty("java.version"));
+		sb.append("\nJava home: ");
+		sb.append(System.getProperty("java.home"));
+		sb.append("\nCurrent dir: ");
+		sb.append(System.getProperty("user.dir"));
+		if (args.length > 0) {
+			sb.append("\nArgs: ");
+			for (int i = 0; i < args.length; i++) {
+				sb.append(args[i]);
+				sb.append(' ');
+			}
+		}
+		JOptionPane.showMessageDialog(this,
+				sb.toString(),
+				"Info",
+				JOptionPane.INFORMATION_MESSAGE);
+    }
+
+	public static void setLAF() {
+		JFrame.setDefaultLookAndFeelDecorated(true);
+		Toolkit.getDefaultToolkit().setDynamicLayout(true);
+		System.setProperty("sun.awt.noerasebackground","true");
+		try {
+			UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
+		} catch (Exception e) {
+			System.err.println("Failed to set LookAndFeel");
+		}
+	}
+
+   	public static void main(String[] args) {
+   		setLAF();
+		new SimpleApp(args);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/demo/readme.txt b/packaging_tools/windows/launch4j/demo/readme.txt
new file mode 100644
index 0000000..3d98e80
--- /dev/null
+++ b/packaging_tools/windows/launch4j/demo/readme.txt
@@ -0,0 +1,3 @@
+JRE/SDK 1.6.0 or higher must be installed on your system to run this demo.
+
+try running it with some command line arguments...
diff --git a/packaging_tools/windows/launch4j/head/LICENSE.txt b/packaging_tools/windows/launch4j/head/LICENSE.txt
new file mode 100644
index 0000000..e95c830
--- /dev/null
+++ b/packaging_tools/windows/launch4j/head/LICENSE.txt
@@ -0,0 +1,26 @@
+Launch4j (http://launch4j.sourceforge.net/)
+Cross-platform Java application wrapper for creating Windows native executables.
+
+Copyright (c) 2004, 2015 Grzegorz Kowal
+
+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.
+
+Except as contained in this notice, the name(s) of the above copyright holders
+shall not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization.
+
+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.
\ No newline at end of file
diff --git a/packaging_tools/windows/launch4j/head_src/LICENSE.txt b/packaging_tools/windows/launch4j/head_src/LICENSE.txt
new file mode 100644
index 0000000..a08f808
--- /dev/null
+++ b/packaging_tools/windows/launch4j/head_src/LICENSE.txt
@@ -0,0 +1,26 @@
+Launch4j (http://launch4j.sourceforge.net/)
+Cross-platform Java application wrapper for creating Windows native executables.
+
+Copyright (c) 2004, 2015 Grzegorz Kowal
+
+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.
+
+Except as contained in this notice, the name(s) of the above copyright holders
+shall not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization.
+
+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.
diff --git a/packaging_tools/windows/launch4j/head_src/consolehead/.gitignore b/packaging_tools/windows/launch4j/head_src/consolehead/.gitignore
new file mode 100644
index 0000000..b566d3b
--- /dev/null
+++ b/packaging_tools/windows/launch4j/head_src/consolehead/.gitignore
@@ -0,0 +1,2 @@
+/consolehead.exe
+/consolehead.layout
diff --git a/packaging_tools/windows/launch4j/head_src/consolehead/Makefile.win b/packaging_tools/windows/launch4j/head_src/consolehead/Makefile.win
new file mode 100644
index 0000000..23cb75a
--- /dev/null
+++ b/packaging_tools/windows/launch4j/head_src/consolehead/Makefile.win
@@ -0,0 +1,33 @@
+# Project: consolehead
+# Makefile created by Dev-C++ 4.9.9.2
+
+CPP  = g++.exe
+CC   = gcc.exe
+WINDRES = windres.exe
+RES  = 
+OBJ  = ../../head/consolehead.o ../../head/head.o $(RES)
+LINKOBJ  = ../../head/consolehead.o ../../head/head.o $(RES)
+LIBS =  -L"C:/Dev-Cpp/lib" -n  -s 
+INCS =  -I"C:/Dev-Cpp/include" 
+CXXINCS =  -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include"  -I"C:/Dev-Cpp/include/c++/3.4.2/backward"  -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32"  -I"C:/Dev-Cpp/include/c++/3.4.2"  -I"C:/Dev-Cpp/include" 
+BIN  = consolehead.exe
+CXXFLAGS = $(CXXINCS)   -fexpensive-optimizations -O3
+CFLAGS = $(INCS)   -fexpensive-optimizations -O3
+RM = rm -f
+
+.PHONY: all all-before all-after clean clean-custom
+
+all: all-before consolehead.exe all-after
+
+
+clean: clean-custom
+	${RM} $(OBJ) $(BIN)
+
+$(BIN): $(OBJ)
+#	$(CC) $(LINKOBJ) -o "consolehead.exe" $(LIBS)
+
+../../head/consolehead.o: consolehead.c
+	$(CC) -c consolehead.c -o ../../head/consolehead.o $(CFLAGS)
+
+../../head/head.o: ../head.c
+	$(CC) -c ../head.c -o ../../head/head.o $(CFLAGS)
diff --git a/packaging_tools/windows/launch4j/head_src/consolehead/consolehead.c b/packaging_tools/windows/launch4j/head_src/consolehead/consolehead.c
new file mode 100644
index 0000000..1846a56
--- /dev/null
+++ b/packaging_tools/windows/launch4j/head_src/consolehead/consolehead.c
@@ -0,0 +1,97 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2007 Grzegorz Kowal
+
+	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.
+
+	Except as contained in this notice, the name(s) of the above copyright holders
+	shall not be used in advertising or otherwise to promote the sale, use or other
+	dealings in this Software without prior written authorization.
+
+	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.
+*/
+
+#include "../resource.h"
+#include "../head.h"
+
+extern FILE* hLog;
+
+BOOL restartOnCrash = FALSE;
+
+int main(int argc, char* argv[])
+{
+    setConsoleFlag();
+	LPTSTR cmdLine = GetCommandLine();
+
+	if (*cmdLine == '"')
+	{
+		if (*(cmdLine = strchr(cmdLine + 1, '"') + 1))
+		{
+			cmdLine++;
+		}
+	}
+	else if ((cmdLine = strchr(cmdLine, ' ')) != NULL)
+	{
+		cmdLine++;
+	}
+	else
+	{
+		cmdLine = "";
+	}
+
+	int result = prepare(cmdLine);
+
+	if (result == ERROR_ALREADY_EXISTS)
+	{
+		char errMsg[BIG_STR] = {0};
+		loadString(INSTANCE_ALREADY_EXISTS_MSG, errMsg);
+		msgBox(errMsg);
+		closeLogFile();
+		return 2;
+	}
+
+	if (result != TRUE)
+	{
+		signalError();
+		return 1;
+	}
+
+	restartOnCrash = loadBool(RESTART_ON_CRASH);
+	DWORD dwExitCode;
+
+	do
+	{
+		dwExitCode = 0;
+	
+		if (!execute(TRUE, &dwExitCode))
+		{
+			signalError();
+			break;
+		}
+
+		if (restartOnCrash && dwExitCode != 0)
+		{
+	  		debug("Exit code:\t%d, restarting the application!\n", dwExitCode);
+  		}
+	} while (restartOnCrash && dwExitCode != 0);
+
+	debug("Exit code:\t%d\n", dwExitCode);
+	closeLogFile();
+	return (int) dwExitCode;
+}
diff --git a/packaging_tools/windows/launch4j/head_src/consolehead/consolehead.dev b/packaging_tools/windows/launch4j/head_src/consolehead/consolehead.dev
new file mode 100644
index 0000000..94883ea
--- /dev/null
+++ b/packaging_tools/windows/launch4j/head_src/consolehead/consolehead.dev
@@ -0,0 +1,108 @@
+[Project]
+FileName=consolehead.dev
+Name=consolehead
+UnitCount=4
+Type=1
+Ver=1
+ObjFiles=
+Includes=
+Libs=
+PrivateResource=
+ResourceIncludes=
+MakeIncludes=
+Compiler=
+CppCompiler=
+Linker=-n_@@_
+IsCpp=0
+Icon=
+ExeOutput=
+ObjectOutput=..\..\head
+OverrideOutput=0
+OverrideOutputName=consolehead.exe
+HostApplication=
+Folders=
+CommandLine=
+UseCustomMakefile=1
+CustomMakefile=Makefile.win
+IncludeVersionInfo=0
+SupportXPThemes=0
+CompilerSet=0
+CompilerSettings=0000000001001000000100
+
+[Unit1]
+FileName=consolehead.c
+CompileCpp=0
+Folder=consolehead
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
+[VersionInfo]
+Major=0
+Minor=1
+Release=1
+Build=1
+LanguageID=1033
+CharsetID=1252
+CompanyName=
+FileVersion=
+FileDescription=Developed using the Dev-C++ IDE
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=
+AutoIncBuildNr=0
+
+[Unit2]
+FileName=..\resource.h
+CompileCpp=0
+Folder=consolehead
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
+[Unit3]
+FileName=..\head.c
+CompileCpp=0
+Folder=consolehead
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
+[Unit4]
+FileName=..\head.h
+CompileCpp=0
+Folder=consolehead
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
+[Unit5]
+FileName=..\head.rc
+Folder=consolehead
+Compile=1
+Link=0
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
+[Unit6]
+FileName=..\resid.h
+CompileCpp=0
+Folder=consolehead
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
diff --git a/packaging_tools/windows/launch4j/head_src/guihead/.gitignore b/packaging_tools/windows/launch4j/head_src/guihead/.gitignore
new file mode 100644
index 0000000..5ddac15
--- /dev/null
+++ b/packaging_tools/windows/launch4j/head_src/guihead/.gitignore
@@ -0,0 +1,2 @@
+/guihead.exe
+/guihead.layout
diff --git a/packaging_tools/windows/launch4j/head_src/guihead/Makefile.win b/packaging_tools/windows/launch4j/head_src/guihead/Makefile.win
new file mode 100644
index 0000000..0109be4
--- /dev/null
+++ b/packaging_tools/windows/launch4j/head_src/guihead/Makefile.win
@@ -0,0 +1,33 @@
+# Project: guihead
+# Makefile created by Dev-C++ 4.9.9.2
+
+CPP  = g++.exe
+CC   = gcc.exe
+WINDRES = windres.exe
+RES  = 
+OBJ  = ../../head/guihead.o ../../head/head.o $(RES)
+LINKOBJ  = ../../head/guihead.o ../../head/head.o $(RES)
+LIBS =  -L"C:/Dev-Cpp/lib" -mwindows -n  -s 
+INCS =  -I"C:/Dev-Cpp/include" 
+CXXINCS =  -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include"  -I"C:/Dev-Cpp/include/c++/3.4.2/backward"  -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32"  -I"C:/Dev-Cpp/include/c++/3.4.2"  -I"C:/Dev-Cpp/include" 
+BIN  = guihead.exe
+CXXFLAGS = $(CXXINCS)   -fexpensive-optimizations -O3
+CFLAGS = $(INCS)   -fexpensive-optimizations -O3
+RM = rm -f
+
+.PHONY: all all-before all-after clean clean-custom
+
+all: all-before guihead.exe all-after
+
+
+clean: clean-custom
+	${RM} $(OBJ) $(BIN)
+
+$(BIN): $(OBJ)
+#	$(CC) $(LINKOBJ) -o "guihead.exe" $(LIBS)
+
+../../head/guihead.o: guihead.c
+	$(CC) -c guihead.c -o ../../head/guihead.o $(CFLAGS)
+
+../../head/head.o: ../head.c
+	$(CC) -c ../head.c -o ../../head/head.o $(CFLAGS)
diff --git a/packaging_tools/windows/launch4j/head_src/guihead/guihead.c b/packaging_tools/windows/launch4j/head_src/guihead/guihead.c
new file mode 100644
index 0000000..f0d9935
--- /dev/null
+++ b/packaging_tools/windows/launch4j/head_src/guihead/guihead.c
@@ -0,0 +1,240 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+							 Sylvain Mina (single instance patch)
+
+	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.
+
+	Except as contained in this notice, the name(s) of the above copyright holders
+	shall not be used in advertising or otherwise to promote the sale, use or other
+	dealings in this Software without prior written authorization.
+
+	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.
+*/
+
+#include "../resource.h"
+#include "../head.h"
+#include "guihead.h"
+
+extern FILE* hLog;
+extern PROCESS_INFORMATION processInformation;
+
+HWND hWnd;
+DWORD dwExitCode = 0;
+BOOL stayAlive = FALSE;
+BOOL splash = FALSE;
+BOOL splashTimeoutErr;
+BOOL waitForWindow;
+BOOL restartOnCrash = FALSE;
+int splashTimeout = DEFAULT_SPLASH_TIMEOUT;
+
+int APIENTRY WinMain(HINSTANCE hInstance,
+                     HINSTANCE hPrevInstance,
+                     LPSTR     lpCmdLine,
+                     int       nCmdShow)
+{
+	int result = prepare(lpCmdLine);
+
+	if (result == ERROR_ALREADY_EXISTS)
+	{
+		HWND handle = getInstanceWindow();
+		ShowWindow(handle, SW_SHOW);
+		SetForegroundWindow(handle);
+		closeLogFile();
+		return 2;
+	}
+
+	if (result != TRUE)
+	{
+		signalError();
+		return 1;
+	}
+
+	splash = loadBool(SHOW_SPLASH)
+			&& strstr(lpCmdLine, "--l4j-no-splash") == NULL;
+	restartOnCrash = loadBool(RESTART_ON_CRASH);
+
+	// if we should restart on crash, we must also stay alive to check for crashes
+	stayAlive = restartOnCrash ||
+			  (loadBool(GUI_HEADER_STAYS_ALIVE)
+			&& strstr(lpCmdLine, "--l4j-dont-wait") == NULL);
+			
+	if (splash || stayAlive)
+	{
+		hWnd = CreateWindowEx(WS_EX_TOOLWINDOW, "STATIC", "",
+				WS_POPUP | SS_BITMAP,
+				0, 0, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);
+		if (splash)
+		{
+			char timeout[10] = {0};
+			if (loadString(SPLASH_TIMEOUT, timeout))
+			{
+				splashTimeout = atoi(timeout);
+				if (splashTimeout <= 0 || splashTimeout > MAX_SPLASH_TIMEOUT)
+				{
+					splashTimeout = DEFAULT_SPLASH_TIMEOUT;
+				}
+			}
+			splashTimeoutErr = loadBool(SPLASH_TIMEOUT_ERR)
+					&& strstr(lpCmdLine, "--l4j-no-splash-err") == NULL;
+			waitForWindow = loadBool(SPLASH_WAITS_FOR_WINDOW);
+			HANDLE hImage = LoadImage(hInstance,	// handle of the instance containing the image
+					MAKEINTRESOURCE(SPLASH_BITMAP),	// name or identifier of image
+					IMAGE_BITMAP,					// type of image
+					0,								// desired width
+					0,								// desired height
+					LR_DEFAULTSIZE);
+			if (hImage == NULL)
+			{
+				signalError();
+				return 1;
+			}
+			SendMessage(hWnd, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM) hImage);
+			RECT rect;
+			GetWindowRect(hWnd, &rect);
+			int x = (GetSystemMetrics(SM_CXSCREEN) - (rect.right - rect.left)) / 2;
+			int y = (GetSystemMetrics(SM_CYSCREEN) - (rect.bottom - rect.top)) / 2;
+			SetWindowPos(hWnd, HWND_TOP, x, y, 0, 0, SWP_NOSIZE);
+			ShowWindow(hWnd, nCmdShow);
+			UpdateWindow (hWnd);
+		}
+	}
+
+	do
+	{
+		if (splash || stayAlive)
+		{
+			if (!SetTimer (hWnd, ID_TIMER, 1000 /* 1s */, TimerProc))
+			{
+				signalError();
+				return 1;
+			}
+		}
+
+		if (!execute(FALSE, &dwExitCode))
+		{
+			signalError();
+			return 1;
+		}
+
+		if (!(splash || stayAlive))
+		{
+			debug("Exit code:\t0\n");
+			closeProcessHandles();
+			closeLogFile();
+			return 0;
+		}
+	
+		MSG msg;
+		while (GetMessage(&msg, NULL, 0, 0))
+		{
+			TranslateMessage(&msg);
+			DispatchMessage(&msg);
+		}
+		
+		if (restartOnCrash && dwExitCode != 0)
+		{
+	  		debug("Exit code:\t%d, restarting the application!\n", dwExitCode);
+  		}
+
+  		closeProcessHandles();
+	} while (restartOnCrash && dwExitCode != 0);
+
+	debug("Exit code:\t%d\n", dwExitCode);
+	closeLogFile();
+	return dwExitCode;
+}
+
+HWND getInstanceWindow()
+{
+	char windowTitle[STR];
+	char instWindowTitle[STR] = {0};
+	if (loadString(INSTANCE_WINDOW_TITLE, instWindowTitle))
+	{
+		HWND handle = FindWindowEx(NULL, NULL, NULL, NULL); 
+		while (handle != NULL)
+		{
+			GetWindowText(handle, windowTitle, STR - 1);
+			if (strstr(windowTitle, instWindowTitle) != NULL)
+			{
+				return handle;
+			}
+			else
+			{
+				handle = FindWindowEx(NULL, handle, NULL, NULL);
+			}
+		}
+	}
+	return NULL;   
+}
+
+BOOL CALLBACK enumwndfn(HWND hwnd, LPARAM lParam)
+{
+	DWORD processId;
+	GetWindowThreadProcessId(hwnd, &processId);
+	if (processInformation.dwProcessId == processId)
+	{
+		LONG styles = GetWindowLong(hwnd, GWL_STYLE);
+		if ((styles & WS_VISIBLE) != 0)
+		{
+			splash = FALSE;
+			ShowWindow(hWnd, SW_HIDE);
+			return FALSE;
+		}
+	}
+	return TRUE;
+}
+
+VOID CALLBACK TimerProc(
+	HWND hwnd,			// handle of window for timer messages
+	UINT uMsg,			// WM_TIMER message
+	UINT idEvent,		// timer identifier
+	DWORD dwTime) 		// current system time
+{
+	if (splash)
+	{
+		if (splashTimeout == 0)
+		{
+			splash = FALSE;
+			ShowWindow(hWnd, SW_HIDE);
+			if (waitForWindow && splashTimeoutErr)
+			{
+				KillTimer(hwnd, ID_TIMER);
+				signalError();
+				PostQuitMessage(0);
+			}
+		}
+		else
+		{
+			splashTimeout--;
+			if (waitForWindow)
+			{
+				EnumWindows(enumwndfn, 0);
+			}
+		}
+	}
+
+	GetExitCodeProcess(processInformation.hProcess, &dwExitCode);
+	if (dwExitCode != STILL_ACTIVE
+			|| !(splash || stayAlive))
+	{
+		KillTimer(hWnd, ID_TIMER);
+		PostQuitMessage(0);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/head_src/guihead/guihead.dev b/packaging_tools/windows/launch4j/head_src/guihead/guihead.dev
new file mode 100644
index 0000000..3addd6f
--- /dev/null
+++ b/packaging_tools/windows/launch4j/head_src/guihead/guihead.dev
@@ -0,0 +1,109 @@
+[Project]
+FileName=guihead.dev
+Name=guihead
+UnitCount=5
+Type=0
+Ver=1
+ObjFiles=
+Includes=
+Libs=
+PrivateResource=
+ResourceIncludes=
+MakeIncludes=
+Compiler=
+CppCompiler=
+Linker=-n_@@_
+IsCpp=0
+Icon=
+ExeOutput=
+ObjectOutput=..\..\head
+OverrideOutput=0
+OverrideOutputName=guihead.exe
+HostApplication=
+Folders=
+CommandLine=
+UseCustomMakefile=1
+CustomMakefile=Makefile.win
+IncludeVersionInfo=0
+SupportXPThemes=0
+CompilerSet=0
+CompilerSettings=0000000001001000000100
+
+[Unit1]
+FileName=guihead.c
+CompileCpp=0
+Folder=guihead
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=$(CC) -c guihead.c -o ../../head/guihead.o $(CFLAGS)
+
+[Unit2]
+FileName=guihead.h
+CompileCpp=0
+Folder=guihead
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
+[VersionInfo]
+Major=0
+Minor=1
+Release=1
+Build=1
+LanguageID=1033
+CharsetID=1252
+CompanyName=
+FileVersion=
+FileDescription=Developed using the Dev-C++ IDE
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=
+AutoIncBuildNr=0
+
+[Unit4]
+FileName=..\head.h
+CompileCpp=0
+Folder=guihead
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
+[Unit6]
+FileName=..\resid.h
+CompileCpp=0
+Folder=guihead
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
+[Unit3]
+FileName=..\head.c
+CompileCpp=0
+Folder=guihead
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
+[Unit5]
+FileName=..\resource.h
+CompileCpp=0
+Folder=guihead
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
diff --git a/packaging_tools/windows/launch4j/head_src/guihead/guihead.h b/packaging_tools/windows/launch4j/head_src/guihead/guihead.h
new file mode 100644
index 0000000..ebef396
--- /dev/null
+++ b/packaging_tools/windows/launch4j/head_src/guihead/guihead.h
@@ -0,0 +1,43 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2007 Grzegorz Kowal
+
+	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.
+
+	Except as contained in this notice, the name(s) of the above copyright holders
+	shall not be used in advertising or otherwise to promote the sale, use or other
+	dealings in this Software without prior written authorization.
+
+	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.
+*/
+
+#define ID_TIMER 1
+#define DEFAULT_SPLASH_TIMEOUT	60			/* 60 seconds */
+#define MAX_SPLASH_TIMEOUT		60 * 15		/* 15 minutes */
+
+HWND getInstanceWindow();
+
+BOOL CALLBACK enumwndfn(HWND hwnd, LPARAM lParam);
+
+VOID CALLBACK TimerProc(
+  HWND hwnd,     // handle of window for timer messages
+  UINT uMsg,     // WM_TIMER message
+  UINT idEvent,  // timer identifier
+  DWORD dwTime   // current system time
+);
diff --git a/packaging_tools/windows/launch4j/head_src/head.c b/packaging_tools/windows/launch4j/head_src/head.c
new file mode 100644
index 0000000..04374ea
--- /dev/null
+++ b/packaging_tools/windows/launch4j/head_src/head.c
@@ -0,0 +1,1167 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal,
+							 Ian Roberts (jdk preference patch)
+							 Sylvain Mina (single instance patch)
+
+	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.
+
+	Except as contained in this notice, the name(s) of the above copyright holders
+	shall not be used in advertising or otherwise to promote the sale, use or other
+	dealings in this Software without prior written authorization.
+
+	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.
+*/
+
+#include "resource.h"
+#include "head.h"
+
+HMODULE hModule;
+FILE* hLog;
+BOOL debugAll = FALSE;
+BOOL console = FALSE;
+BOOL wow64 = FALSE;
+char oldPwd[_MAX_PATH];
+
+PROCESS_INFORMATION processInformation;
+DWORD processPriority;
+
+struct
+{
+	char title[STR];
+	char msg[BIG_STR];
+	char url[256];
+} error;
+
+struct
+{
+	int runtimeBits;
+	int foundJava;
+	BOOL bundledJreAsFallback;
+	BOOL corruptedJreFound;
+	char javaMinVer[STR];
+	char javaMaxVer[STR];
+	char foundJavaVer[STR];
+	char foundJavaKey[_MAX_PATH];
+	char foundJavaHome[_MAX_PATH];
+} search;
+
+struct
+{
+	char cmd[_MAX_PATH];
+	char args[MAX_ARGS];
+} launcher;
+
+BOOL initGlobals()
+{
+	hModule = GetModuleHandle(NULL);
+
+	if (hModule == NULL)
+	{
+		return FALSE;
+	}
+
+	strcpy(error.title, LAUNCH4j);
+
+	search.runtimeBits = INIT_RUNTIME_BITS;
+	search.foundJava = NO_JAVA_FOUND;
+	search.bundledJreAsFallback = FALSE;
+	search.corruptedJreFound = FALSE;
+	
+	return TRUE;
+}
+
+FILE* openLogFile(const char* exePath, const int pathLen)
+{
+	char path[_MAX_PATH] = {0};
+	strncpy(path, exePath, pathLen);
+	strcat(path, "\\launch4j.log");
+	return fopen(path, "a");
+}
+
+void closeLogFile()
+{
+	if (hLog != NULL)
+	{
+		fclose(hLog);	
+	}
+}
+
+BOOL initializeLogging(const char *lpCmdLine, const char* exePath, const int pathLen)
+{
+	char varValue[MAX_VAR_SIZE] = {0};
+	GetEnvironmentVariable(LAUNCH4j, varValue, MAX_VAR_SIZE);
+
+    if (strstr(lpCmdLine, "--l4j-debug") != NULL
+			|| strstr(varValue, "debug") != NULL)
+	{
+		hLog = openLogFile(exePath, pathLen);
+
+		if (hLog == NULL)
+		{
+			return FALSE;
+		}
+
+		debugAll = strstr(lpCmdLine, "--l4j-debug-all") != NULL
+				|| strstr(varValue, "debug-all") != NULL;
+	}
+	
+	debug("\n\nVersion:\t%s\n", VERSION);
+	debug("CmdLine:\t%s %s\n", exePath, lpCmdLine);
+
+	return TRUE;
+}
+
+void setWow64Flag()
+{
+	LPFN_ISWOW64PROCESS fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(
+			GetModuleHandle(TEXT("kernel32")), "IsWow64Process");
+
+	if (fnIsWow64Process != NULL)
+	{
+		fnIsWow64Process(GetCurrentProcess(), &wow64);
+	}
+
+	debug("WOW64:\t\t%s\n", wow64 ? "yes" : "no"); 
+}
+
+void setConsoleFlag()
+{
+     console = TRUE;
+}
+
+void msgBox(const char* text)
+{
+    if (console)
+	{
+        if (*error.title)
+        {
+            printf("%s: %s\n", error.title, text);
+        }
+        else
+        {
+            printf("%s\n", text);
+        }
+    }
+	else
+	{
+    	MessageBox(NULL, text, error.title, MB_OK);
+    }
+}
+
+void signalError()
+{
+	DWORD err = GetLastError();
+	debug("Error msg:\t%s\n", error.msg);
+
+	if (err)
+	{
+		LPVOID lpMsgBuf;
+		FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER
+						| FORMAT_MESSAGE_FROM_SYSTEM
+						| FORMAT_MESSAGE_IGNORE_INSERTS,
+				NULL,
+				err,
+				MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
+			    (LPTSTR) &lpMsgBuf,
+			    0,
+			    NULL);
+		debug(ERROR_FORMAT, (LPCTSTR) lpMsgBuf);
+		strcat(error.msg, "\n\n");
+		strcat(error.msg, (LPCTSTR) lpMsgBuf);
+		LocalFree(lpMsgBuf);
+	}
+	
+	msgBox(error.msg);
+
+	if (*error.url)
+	{
+		debug("Open URL:\t%s\n", error.url);
+		ShellExecute(NULL, "open", error.url, NULL, NULL, SW_SHOWNORMAL);
+	}
+
+	closeLogFile();
+}
+
+BOOL loadString(const int resID, char* buffer)
+{
+	HRSRC hResource;
+	HGLOBAL hResourceLoaded;
+	LPBYTE lpBuffer;
+
+	hResource = FindResourceEx(hModule, RT_RCDATA, MAKEINTRESOURCE(resID),
+			MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT));
+	if (NULL != hResource)
+	{
+		hResourceLoaded = LoadResource(hModule, hResource);
+		if (NULL != hResourceLoaded)
+		{
+			lpBuffer = (LPBYTE) LockResource(hResourceLoaded);            
+			if (NULL != lpBuffer)
+			{     
+				int x = 0;
+				do
+				{
+					buffer[x] = (char) lpBuffer[x];
+				} while (buffer[x++] != 0);
+				
+				if (debugAll)
+				{
+					debug("Resource %d:\t%s\n", resID, buffer);
+				}
+				return TRUE;
+			}
+		}    
+	}
+	else
+	{
+		SetLastError(0);
+		buffer[0] = 0;
+	}
+	return FALSE;
+}
+
+BOOL loadBool(const int resID)
+{
+	char boolStr[20] = {0};
+	loadString(resID, boolStr);
+	return strcmp(boolStr, TRUE_STR) == 0;
+}
+
+int loadInt(const int resID)
+{
+	char intStr[20] = {0};
+	loadString(resID, intStr);
+	return atoi(intStr);
+}
+
+BOOL regQueryValue(const char* regPath, unsigned char* buffer,
+		unsigned long bufferLength)
+{
+	HKEY hRootKey;
+	char* key;
+	char* value;
+
+	if (strstr(regPath, HKEY_CLASSES_ROOT_STR) == regPath)
+	{
+		hRootKey = HKEY_CLASSES_ROOT;
+	}
+	else if (strstr(regPath, HKEY_CURRENT_USER_STR) == regPath)
+	{
+		hRootKey = HKEY_CURRENT_USER;
+	}
+	else if (strstr(regPath, HKEY_LOCAL_MACHINE_STR) == regPath)
+	{
+		hRootKey = HKEY_LOCAL_MACHINE;
+	}
+	else if (strstr(regPath, HKEY_USERS_STR) == regPath)
+	{
+		hRootKey = HKEY_USERS;
+	}
+	else if (strstr(regPath, HKEY_CURRENT_CONFIG_STR) == regPath)
+	{
+		hRootKey = HKEY_CURRENT_CONFIG;
+	}
+	else
+	{
+		return FALSE;
+	}
+
+	key = strchr(regPath, '\\') + 1;
+	value = strrchr(regPath, '\\') + 1;
+	*(value - 1) = 0;
+
+	HKEY hKey;
+	unsigned long datatype;
+	BOOL result = FALSE;
+	if ((wow64 && RegOpenKeyEx(hRootKey,
+								key,
+								0,
+	        					KEY_READ | KEY_WOW64_64KEY,
+								&hKey) == ERROR_SUCCESS)
+			|| RegOpenKeyEx(hRootKey,
+								key,
+								0,
+	        					KEY_READ,
+								&hKey) == ERROR_SUCCESS)
+	{
+		result = RegQueryValueEx(hKey, value, NULL, &datatype, buffer, &bufferLength)
+				== ERROR_SUCCESS;
+		RegCloseKey(hKey);
+	}
+	*(value - 1) = '\\';
+	return result;
+}
+
+void regSearch(const char* keyName, const int searchType)
+{
+	HKEY hKey;
+	const DWORD wow64KeyMask = searchType & KEY_WOW64_64KEY;
+
+	debug("%s-bit search:\t%s...\n", wow64KeyMask ? "64" : "32", keyName);
+
+	if (!RegOpenKeyEx(HKEY_LOCAL_MACHINE,
+			keyName,
+			0,
+	        KEY_READ | wow64KeyMask,
+			&hKey) == ERROR_SUCCESS)
+	{
+		return;
+	}
+
+	DWORD x = 0;
+	unsigned long versionSize = _MAX_PATH;
+	FILETIME time;
+	char fullKeyName[_MAX_PATH] = {0};
+	char version[_MAX_PATH] = {0};
+
+	while (RegEnumKeyEx(
+				hKey,			// handle to key to enumerate
+				x++,			// index of subkey to enumerate
+				version,		// address of buffer for subkey name
+				&versionSize,	// address for size of subkey buffer
+				NULL,			// reserved
+				NULL,			// address of buffer for class string
+				NULL,			// address for size of class buffer
+				&time) == ERROR_SUCCESS)
+	{
+		strcpy(fullKeyName, keyName);
+		appendPath(fullKeyName, version);
+		debug("Check:\t\t%s\n", fullKeyName);
+
+		if (strcmp(version, search.javaMinVer) >= 0
+				&& (!*search.javaMaxVer || strcmp(version, search.javaMaxVer) <= 0)
+				&& strcmp(version, search.foundJavaVer) > 0
+				&& isJavaHomeValid(fullKeyName, searchType))
+		{
+			strcpy(search.foundJavaVer, version);
+			strcpy(search.foundJavaKey, fullKeyName);
+			search.foundJava = searchType;
+			debug("Match:\t\t%s\n", version);
+		}
+		else
+		{
+			debug("Ignore:\t\t%s\n", version);
+		}
+
+		versionSize = _MAX_PATH;
+	}
+
+	RegCloseKey(hKey);
+}
+
+BOOL isJavaHomeValid(const char* keyName, const int searchType)
+{
+	BOOL valid = FALSE;
+	HKEY hKey;
+	char path[_MAX_PATH] = {0};
+
+	if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
+			keyName,
+			0,
+            KEY_READ | (searchType & KEY_WOW64_64KEY),
+			&hKey) == ERROR_SUCCESS)
+	{
+		unsigned char buffer[_MAX_PATH] = {0};
+		unsigned long bufferlength = _MAX_PATH;
+		unsigned long datatype;
+
+		if (RegQueryValueEx(hKey, "JavaHome", NULL, &datatype, buffer,
+				&bufferlength) == ERROR_SUCCESS)
+		{
+			int i = 0;
+			do
+			{
+				path[i] = buffer[i];
+			} while (path[i++] != 0);
+			
+			if (searchType & FOUND_SDK)
+			{
+				appendPath(path, "jre");
+			}
+			valid = isLauncherPathValid(path);
+		}
+		RegCloseKey(hKey);
+	}
+
+	if (valid)
+	{
+		strcpy(search.foundJavaHome, path);
+	}
+	else
+	{
+		search.corruptedJreFound = TRUE;
+	}
+
+	return valid;
+}
+
+BOOL isLauncherPathValid(const char* path)
+{
+	struct _stat statBuf;
+	char launcherPath[_MAX_PATH] = {0};
+	BOOL result = FALSE;
+
+	if (*path)
+	{
+		strcpy(launcherPath, path);
+		appendLauncher(launcherPath);
+		result = _stat(launcherPath, &statBuf) == 0;
+
+		if (!result)
+		{
+			// Don't display additional info in the error popup.
+			SetLastError(0);
+		}
+	}
+
+	debug("Check launcher:\t%s %s\n", launcherPath, result ? "(OK)" : "(not found)");
+	return result;
+}
+
+void regSearchWow(const char* keyName, const int searchType)
+{
+	if (search.runtimeBits == INIT_RUNTIME_BITS)
+	{
+		search.runtimeBits = loadInt(RUNTIME_BITS);
+	}
+
+	switch (search.runtimeBits)
+	{
+		case USE_64_BIT_RUNTIME:
+			if (wow64)
+			{
+				regSearch(keyName, searchType | KEY_WOW64_64KEY);
+			}
+			break;
+
+		case USE_64_AND_32_BIT_RUNTIME:
+			if (wow64)
+			{
+				regSearch(keyName, searchType | KEY_WOW64_64KEY);
+				
+				if ((search.foundJava & KEY_WOW64_64KEY) != NO_JAVA_FOUND)
+				{
+					break;
+				}
+			}
+
+			regSearch(keyName, searchType);
+			break;
+
+		case USE_32_AND_64_BIT_RUNTIME:
+			regSearch(keyName, searchType);
+
+			if (search.foundJava != NO_JAVA_FOUND
+				&& (search.foundJava & KEY_WOW64_64KEY) == NO_JAVA_FOUND)
+			{
+				break;
+			}
+
+			if (wow64)
+			{
+				regSearch(keyName, searchType | KEY_WOW64_64KEY);
+			}
+			break;
+
+		case USE_32_BIT_RUNTIME:
+			regSearch(keyName, searchType);
+			break;
+	}
+}
+
+void regSearchJreSdk(const char* jreKeyName, const char* sdkKeyName,
+		const int jdkPreference)
+{
+	if (jdkPreference == JDK_ONLY || jdkPreference == PREFER_JDK)
+	{
+		regSearchWow(sdkKeyName, FOUND_SDK);
+		if (jdkPreference != JDK_ONLY)
+		{
+			regSearchWow(jreKeyName, FOUND_JRE);
+		}
+	}
+	else
+	{
+		// jdkPreference == JRE_ONLY or PREFER_JRE
+		regSearchWow(jreKeyName, FOUND_JRE);
+		if (jdkPreference != JRE_ONLY)
+		{
+			regSearchWow(sdkKeyName, FOUND_SDK);
+		}
+	}
+}
+
+BOOL findJavaHome(char* path, const int jdkPreference)
+{
+	regSearchJreSdk("SOFTWARE\\JavaSoft\\Java Runtime Environment",
+					"SOFTWARE\\JavaSoft\\Java Development Kit",
+					jdkPreference);
+
+	if (search.foundJava == NO_JAVA_FOUND)
+	{
+		regSearchJreSdk("SOFTWARE\\IBM\\Java2 Runtime Environment",
+						"SOFTWARE\\IBM\\Java Development Kit",
+						jdkPreference);
+	}
+	
+	if (search.foundJava != NO_JAVA_FOUND)
+	{
+		strcpy(path, search.foundJavaHome);
+		debug("Runtime used:\t%s (%s-bit)\n", search.foundJavaVer,
+				(search.foundJava & KEY_WOW64_64KEY) != NO_JAVA_FOUND ? "64" : "32");
+		return TRUE;	
+	}
+	
+	return FALSE;
+}
+
+/*
+ * Extract the executable name, returns path length.
+ */
+int getExePath(char* exePath)
+{
+    if (GetModuleFileName(hModule, exePath, _MAX_PATH) == 0)
+	{
+        return -1;
+    }
+	return strrchr(exePath, '\\') - exePath;
+}
+
+void appendPath(char* basepath, const char* path)
+{
+	if (basepath[strlen(basepath) - 1] != '\\')
+	{
+		strcat(basepath, "\\");
+	}
+	strcat(basepath, path);
+}
+
+void appendLauncher(char* jrePath)
+{
+    if (console)
+	{
+	    appendPath(jrePath, "bin\\java.exe");
+    }
+	else
+	{
+        appendPath(jrePath, "bin\\javaw.exe");
+    }
+}
+
+void appendAppClasspath(char* dst, const char* src)
+{
+	strcat(dst, src);
+	strcat(dst, ";");
+}
+
+/* 
+ * Expand environment %variables%
+ */
+BOOL expandVars(char *dst, const char *src, const char *exePath, const int pathLen)
+{
+    char varName[STR] = {0};
+    char varValue[MAX_VAR_SIZE] = {0};
+
+    while (strlen(src) > 0)
+	{
+        char *start = strchr(src, '%');
+        if (start != NULL)
+		{
+            char *end = strchr(start + 1, '%');
+            if (end == NULL)
+			{
+                return FALSE;
+            }
+            // Copy content up to %VAR%
+            strncat(dst, src, start - src);
+            // Insert value of %VAR%
+            *varName = 0;
+            strncat(varName, start + 1, end - start - 1);
+            // Remember value start for logging
+            char *currentVarValue = dst + strlen(dst);
+            
+			if (strcmp(varName, "EXEDIR") == 0)
+			{
+                strncat(dst, exePath, pathLen);
+            }
+			else if (strcmp(varName, "EXEFILE") == 0)
+			{
+                strcat(dst, exePath);
+            }
+			else if (strcmp(varName, "PWD") == 0)
+			{
+                GetCurrentDirectory(_MAX_PATH, dst + strlen(dst));
+            }
+			else if (strcmp(varName, "OLDPWD") == 0)
+			{
+                strcat(dst, oldPwd);
+			}
+            else if (strcmp(varName, "JREHOMEDIR") == 0)
+			{
+                strcat(dst, search.foundJavaHome);
+			}
+			else if (strstr(varName, HKEY_STR) == varName)
+			{
+				regQueryValue(varName, dst + strlen(dst), BIG_STR);
+            }
+			else if (GetEnvironmentVariable(varName, varValue, MAX_VAR_SIZE) > 0)
+			{
+                strcat(dst, varValue);
+            }
+
+            debug("Substitute:\t%s = %s\n", varName, currentVarValue);
+            src = end + 1;
+        }
+		else
+		{
+            // Copy remaining content
+            strcat(dst, src);
+            break;
+        }
+	}
+	return TRUE;
+}
+
+void appendHeapSizes(char *dst)
+{
+	MEMORYSTATUSEX statex;
+	statex.dwLength = sizeof(statex);
+	GlobalMemoryStatusEx(&statex);
+
+	appendHeapSize(dst, INITIAL_HEAP_SIZE, INITIAL_HEAP_PERCENT,
+			statex.ullAvailPhys, "-Xms");
+	appendHeapSize(dst, MAX_HEAP_SIZE, MAX_HEAP_PERCENT,
+			statex.ullAvailPhys, "-Xmx");
+}
+
+void appendHeapSize(char *dst, const int megabytesID, const int percentID,
+		const DWORDLONG availableMemory, const char *option)
+{
+	const int mb = 1048576;			// 1 MB
+	const int mbLimit32 = 1024;  	// Max heap size in MB on 32-bit JREs
+	const int megabytes = loadInt(megabytesID);
+	const int percent = loadInt(percentID);
+	const int availableMb = availableMemory * percent / (100 * mb);	// 100% * 1 MB
+    int heapSizeMb = availableMb > megabytes ? availableMb : megabytes;
+
+	if (heapSizeMb > 0)
+	{
+		if (!(search.foundJava & KEY_WOW64_64KEY) && heapSizeMb > mbLimit32)
+		{
+			debug("Heap limit:\tReduced %d MB heap size to 32-bit maximum %d MB\n",
+					heapSizeMb, mbLimit32);
+			heapSizeMb = mbLimit32;
+		}
+
+		debug("Heap %s:\tRequested %d MB / %d%%, Available: %d MB, Heap size: %d MB\n",
+				option, megabytes, percent, (int)(availableMemory / mb), heapSizeMb);
+		strcat(dst, option);
+		_itoa(heapSizeMb, dst + strlen(dst), 10);				// 10 -- radix
+		strcat(dst, "m ");
+	}
+}
+
+void setJvmOptions(char *jvmOptions, const char *exePath)
+{
+	if (loadString(JVM_OPTIONS, jvmOptions))
+	{
+		strcat(jvmOptions, " ");
+	}
+
+	/*
+	 * Load additional JVM options from .l4j.ini file
+	 * Options are separated by spaces or CRLF
+	 * # starts an inline comment
+	 */
+	char iniFilePath[_MAX_PATH] = {0};
+	strncpy(iniFilePath, exePath, strlen(exePath) - 3);
+	strcat(iniFilePath, "l4j.ini");
+	long hFile;
+
+	if ((hFile = _open(iniFilePath, _O_RDONLY)) != -1)
+	{
+		debug("Loading:\t%s\n", iniFilePath);
+		const int jvmOptLen = strlen(jvmOptions);
+		char* src = jvmOptions + jvmOptLen;
+		char* dst = src;
+		const int len = _read(hFile, src, MAX_ARGS - jvmOptLen - BIG_STR);
+		BOOL copy = TRUE;
+		int i;
+		for (i = 0; i < len; i++, src++)
+		{
+			if (*src == '#')
+			{
+				copy = FALSE;
+			}
+			else if (*src == 13 || *src == 10)
+			{
+				copy = TRUE;
+				if (dst > jvmOptions && *(dst - 1) != ' ')
+				{
+					*dst++ = ' ';
+				}
+			}
+			else if (copy)
+			{
+				*dst++ = *src;
+			}
+		}
+		*dst = 0;
+		if (len > 0 && *(dst - 1) != ' ')
+		{
+			strcat(jvmOptions, " ");
+		}
+		_close(hFile);
+	}	
+}
+
+BOOL createMutex()
+{
+	char mutexName[STR] = {0};
+
+	loadString(MUTEX_NAME, mutexName);
+
+	if (*mutexName)
+	{
+		SECURITY_ATTRIBUTES security;
+		security.nLength = sizeof(SECURITY_ATTRIBUTES);
+		security.bInheritHandle = TRUE;
+		security.lpSecurityDescriptor = NULL;
+		CreateMutexA(&security, FALSE, mutexName);
+
+		if (GetLastError() == ERROR_ALREADY_EXISTS)
+		{
+			debug(ERROR_FORMAT, "Instance already exists.");
+			return FALSE;
+		}
+	}
+	
+	return TRUE;
+}
+
+void setWorkingDirectory(const char *exePath, const int pathLen)
+{
+	char workingDir[_MAX_PATH] = {0};
+	char tmpPath[_MAX_PATH] = {0};
+
+	GetCurrentDirectory(_MAX_PATH, oldPwd);
+
+	if (loadString(CHDIR, tmpPath))
+	{
+		strncpy(workingDir, exePath, pathLen);
+		appendPath(workingDir, tmpPath);
+		_chdir(workingDir);
+		debug("Working dir:\t%s\n", workingDir);
+	}
+}
+
+BOOL bundledJreSearch(const char *exePath, const int pathLen)
+{
+	char tmpPath[_MAX_PATH] = {0};
+
+	if (loadString(JRE_PATH, tmpPath))
+	{
+		char jrePath[MAX_ARGS] = {0};
+		expandVars(jrePath, tmpPath, exePath, pathLen);
+		debug("Bundled JRE:\t%s\n", jrePath);
+
+		if (jrePath[0] == '\\' || jrePath[1] == ':')
+		{
+			// Absolute
+			strcpy(launcher.cmd, jrePath);
+		}
+		else
+		{
+			// Relative
+			strncpy(launcher.cmd, exePath, pathLen);
+			appendPath(launcher.cmd, jrePath);
+		}
+
+		if (isLauncherPathValid(launcher.cmd))
+		{
+			search.foundJava = (wow64 && loadBool(BUNDLED_JRE_64_BIT))
+				? FOUND_BUNDLED | KEY_WOW64_64KEY
+				: FOUND_BUNDLED;
+			strcpy(search.foundJavaHome, launcher.cmd);
+			return TRUE;
+		}
+    }
+
+    return FALSE;
+}
+
+BOOL installedJreSearch()
+{
+	return *search.javaMinVer && findJavaHome(launcher.cmd, loadInt(JDK_PREFERENCE));
+}
+
+void createJreSearchError()
+{
+	if (*search.javaMinVer)
+	{
+		loadString(JRE_VERSION_ERR, error.msg);
+		strcat(error.msg, " ");
+		strcat(error.msg, search.javaMinVer);
+	
+		if (*search.javaMaxVer)
+		{
+			strcat(error.msg, " - ");
+			strcat(error.msg, search.javaMaxVer);
+		}
+	
+		if (search.runtimeBits == USE_64_BIT_RUNTIME
+				|| search.runtimeBits == USE_32_BIT_RUNTIME)
+		{
+			strcat(error.msg, " (");
+			strcat(error.msg, search.runtimeBits == USE_64_BIT_RUNTIME ? "64" : "32");
+			strcat(error.msg, "-bit)");
+		}			
+		
+		if (search.corruptedJreFound)
+		{
+			char launcherErrMsg[BIG_STR] = {0};
+	
+			if (loadString(LAUNCHER_ERR, launcherErrMsg))
+			{
+				strcat(error.msg, "\n");
+				strcat(error.msg, launcherErrMsg);
+			}
+		}
+	
+		loadString(DOWNLOAD_URL, error.url);
+	}
+	else
+	{
+		loadString(BUNDLED_JRE_ERR, error.msg);
+	}
+}
+
+BOOL jreSearch(const char *exePath, const int pathLen)
+{
+	BOOL result = TRUE;
+
+	search.bundledJreAsFallback = loadBool(BUNDLED_JRE_AS_FALLBACK);
+	loadString(JAVA_MIN_VER, search.javaMinVer);
+	loadString(JAVA_MAX_VER, search.javaMaxVer);
+
+	if (search.bundledJreAsFallback)
+	{
+		if (!installedJreSearch())
+		{
+			result = bundledJreSearch(exePath, pathLen);
+		}
+	}
+	else
+	{
+		if (!bundledJreSearch(exePath, pathLen))
+		{
+			result = installedJreSearch();
+		}
+	}
+	
+	if (!result)
+	{
+		createJreSearchError();
+	}
+
+	return result;
+}
+
+/*
+ * Append a path to the Path environment variable
+ */
+BOOL appendToPathVar(const char* path)
+{
+	char chBuf[MAX_VAR_SIZE] = {0};
+	const int pathSize = GetEnvironmentVariable("Path", chBuf, MAX_VAR_SIZE);
+
+	if (MAX_VAR_SIZE - pathSize - 1 < strlen(path))
+	{
+		return FALSE;
+	}
+
+	strcat(chBuf, ";");
+	strcat(chBuf, path);
+	return SetEnvironmentVariable("Path", chBuf);
+}
+
+BOOL appendJreBinToPathVar()
+{
+	// Append a path to the Path environment variable
+	char jreBinPath[_MAX_PATH] = {0};
+	strcpy(jreBinPath, launcher.cmd);
+	strcat(jreBinPath, "\\bin");
+
+	if (!appendToPathVar(jreBinPath))
+	{
+		debug(ERROR_FORMAT, "appendToPathVar failed.");
+		return FALSE;
+	}
+	
+	return TRUE;
+}
+
+void setEnvironmentVariables(const char *exePath, const int pathLen)
+{
+	char tmp[MAX_ARGS] = {0};
+	char envVars[MAX_VAR_SIZE] = {0};
+	loadString(ENV_VARIABLES, envVars);
+	char *var = strtok(envVars, "\t");
+
+	while (var != NULL)
+	{
+		char *varValue = strchr(var, '=');
+		*varValue++ = 0;
+		*tmp = 0;
+		expandVars(tmp, varValue, exePath, pathLen);
+		debug("Set var:\t%s = %s\n", var, tmp);
+		SetEnvironmentVariable(var, tmp);
+		var = strtok(NULL, "\t"); 
+	}
+}
+
+void setMainClassAndClassPath(const char *exePath, const int pathLen)
+{
+	char classPath[MAX_ARGS] = {0};
+	char expandedClassPath[MAX_ARGS] = {0};
+	char mainClass[STR] = {0};
+	char jar[_MAX_PATH] = {0};
+	char fullFileName[_MAX_PATH] = {0};
+	const BOOL wrapper = loadBool(WRAPPER);
+	loadString(JAR, jar);
+
+	if (loadString(MAIN_CLASS, mainClass))
+	{
+		if (!loadString(CLASSPATH, classPath))
+		{
+			debug("Info:\t\tClasspath not defined.\n");
+		}
+		
+		expandVars(expandedClassPath, classPath, exePath, pathLen);
+		strcat(launcher.args, "-classpath \"");
+
+		if (wrapper)
+		{
+			appendAppClasspath(launcher.args, exePath);
+		}
+		else if (*jar)
+		{
+			appendAppClasspath(launcher.args, jar);
+		}
+
+		// Deal with wildcards or >> strcat(launcherArgs, exp); <<
+		char* cp = strtok(expandedClassPath, ";");
+
+		while(cp != NULL)
+		{
+			debug("Add classpath:\t%s\n", cp);
+			if (strpbrk(cp, "*?") != NULL)
+			{
+				char* lastBackslash = strrchr(cp, '\\');
+				int pathLen = lastBackslash != NULL ? lastBackslash - cp + 1 : 0;
+				*fullFileName = 0;
+				strncpy(fullFileName, cp, pathLen);
+				char* fileName = fullFileName + pathLen;
+				*fileName = 0;
+				struct _finddata_t c_file;
+				long hFile;
+
+				if ((hFile = _findfirst(cp, &c_file)) != -1L)
+				{
+					do
+					{
+						strcpy(fileName, c_file.name);
+						appendAppClasspath(launcher.args, fullFileName);
+						debug("      \"      :\t%s\n", fullFileName);
+					} while (_findnext(hFile, &c_file) == 0);
+				}
+
+				_findclose(hFile);
+			}
+			else
+			{
+				appendAppClasspath(launcher.args, cp);
+			}
+			cp = strtok(NULL, ";");
+		}
+
+		*(launcher.args + strlen(launcher.args) - 1) = 0;
+		strcat(launcher.args, "\" ");
+		strcat(launcher.args, mainClass);
+	}
+	else if (wrapper)
+	{
+       	strcat(launcher.args, "-jar \"");
+		strcat(launcher.args, exePath);
+   		strcat(launcher.args, "\"");
+    }
+	else
+	{
+       	strcat(launcher.args, "-jar \"");
+        strncat(launcher.args, exePath, pathLen);
+        appendPath(launcher.args, jar);
+       	strcat(launcher.args, "\"");
+    }
+}
+
+void setCommandLineArgs(const char *lpCmdLine)
+{
+	char tmp[MAX_ARGS] = {0};
+
+	// Constant command line arguments
+	if (loadString(CMD_LINE, tmp))
+	{
+		strcat(launcher.args, " ");
+		strcat(launcher.args, tmp);
+	}
+
+	// Command line arguments
+	if (*lpCmdLine)
+	{
+		strcpy(tmp, lpCmdLine);
+		char* dst;
+		while ((dst = strstr(tmp, "--l4j-")) != NULL)
+		{
+			char* src = strchr(dst, ' ');
+			if (src == NULL || *(src + 1) == 0)
+			{
+				*dst = 0;
+			}
+			else
+			{
+				strcpy(dst, src + 1);
+			}
+		}
+		if (*tmp)
+		{
+			strcat(launcher.args, " ");
+			strcat(launcher.args, tmp);
+		}
+	}
+}
+
+int prepare(const char *lpCmdLine)
+{
+	if (!initGlobals())
+	{
+		return FALSE;
+	}
+
+	// Get executable path
+	char exePath[_MAX_PATH] = {0};
+	int pathLen = getExePath(exePath);
+
+	if (pathLen == -1)
+	{
+		return FALSE;
+	}
+
+	if (!initializeLogging(lpCmdLine, exePath, pathLen))
+	{
+		return FALSE;
+	}
+
+    setWow64Flag();
+
+	// Set default error message, title and optional support web site url.
+	loadString(ERR_TITLE, error.title);
+	loadString(SUPPORT_URL, error.url);
+
+	if (!loadString(STARTUP_ERR, error.msg))
+	{
+		debug(ERROR_FORMAT, "Startup error message not defined.");
+		return FALSE;			
+	}
+
+	// Single instance
+	if (!createMutex())
+	{
+		return ERROR_ALREADY_EXISTS;
+	}
+
+	setWorkingDirectory(exePath, pathLen);
+    
+	if (!jreSearch(exePath, pathLen))
+    {
+		return FALSE;
+	}
+
+	if (!appendJreBinToPathVar())
+	{
+		return FALSE;
+	}
+
+	setEnvironmentVariables(exePath, pathLen);
+	processPriority = loadInt(PRIORITY_CLASS);
+	appendLauncher(launcher.cmd);
+	appendHeapSizes(launcher.args);
+
+	char jvmOptions[MAX_ARGS] = {0};
+	setJvmOptions(jvmOptions, exePath);
+	expandVars(launcher.args, jvmOptions, exePath, pathLen);
+	setMainClassAndClassPath(exePath, pathLen);
+	setCommandLineArgs(lpCmdLine);
+
+	debug("Launcher:\t%s\n", launcher.cmd);
+	debug("Launcher args:\t%s\n", launcher.args);
+	debug("Args length:\t%d/32768 chars\n", strlen(launcher.args));
+	return TRUE;
+}
+
+void closeProcessHandles()
+{
+	CloseHandle(processInformation.hThread);
+	CloseHandle(processInformation.hProcess);
+}
+
+BOOL execute(const BOOL wait, DWORD *dwExitCode)
+{
+	STARTUPINFO si;
+
+    memset(&processInformation, 0, sizeof(processInformation));
+    memset(&si, 0, sizeof(si));
+    si.cb = sizeof(si);
+
+	char cmdline[MAX_ARGS] = {0};
+    strcpy(cmdline, "\"");
+	strcat(cmdline, launcher.cmd);
+	strcat(cmdline, "\" ");
+	strcat(cmdline, launcher.args);
+
+	if (CreateProcess(NULL, cmdline, NULL, NULL,
+			TRUE, processPriority, NULL, NULL, &si, &processInformation))
+	{
+		if (wait)
+		{
+			WaitForSingleObject(processInformation.hProcess, INFINITE);
+			GetExitCodeProcess(processInformation.hProcess, dwExitCode);
+			closeProcessHandles();
+		}
+		else
+		{
+			*dwExitCode = 0;
+		}
+		
+		return TRUE;
+	}
+
+	*dwExitCode = -1;
+	return FALSE;
+}
diff --git a/packaging_tools/windows/launch4j/head_src/head.h b/packaging_tools/windows/launch4j/head_src/head.h
new file mode 100644
index 0000000..1e70648
--- /dev/null
+++ b/packaging_tools/windows/launch4j/head_src/head.h
@@ -0,0 +1,136 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal,
+							 Ian Roberts (jdk preference patch)
+
+	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.
+
+	Except as contained in this notice, the name(s) of the above copyright holders
+	shall not be used in advertising or otherwise to promote the sale, use or other
+	dealings in this Software without prior written authorization.
+
+	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.
+*/
+
+#ifndef _LAUNCH4J_HEAD__INCLUDED_
+#define _LAUNCH4J_HEAD__INCLUDED_
+
+#define _WIN32_WINNT 0x0501
+#define WIN32_LEAN_AND_MEAN		// VC - Exclude rarely-used stuff from Windows headers
+
+// Windows Header Files:
+#include <windows.h>
+
+// C RunTime Header Files
+#include <stdlib.h>
+#include <malloc.h>
+#include <memory.h>
+#include <tchar.h>
+#include <shellapi.h>
+#include <direct.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <sys/stat.h>
+#include <io.h>
+#include <process.h>
+
+#define LAUNCH4j "Launch4j"
+#define VERSION "3.8"
+
+#define NO_JAVA_FOUND 0
+#define FOUND_JRE 1
+#define FOUND_SDK 2
+#define FOUND_BUNDLED 4
+
+#define JRE_ONLY 0
+#define PREFER_JRE 1
+#define PREFER_JDK 2
+#define JDK_ONLY 3
+
+#define USE_64_BIT_RUNTIME 1
+#define USE_64_AND_32_BIT_RUNTIME 2
+#define USE_32_AND_64_BIT_RUNTIME 3
+#define USE_32_BIT_RUNTIME 4
+#define INIT_RUNTIME_BITS 9
+
+#define KEY_WOW64_64KEY 0x0100
+
+#define HKEY_STR "HKEY"
+#define HKEY_CLASSES_ROOT_STR "HKEY_CLASSES_ROOT"
+#define HKEY_CURRENT_USER_STR "HKEY_CURRENT_USER"
+#define HKEY_LOCAL_MACHINE_STR "HKEY_LOCAL_MACHINE"
+#define HKEY_USERS_STR "HKEY_USERS"
+#define HKEY_CURRENT_CONFIG_STR "HKEY_CURRENT_CONFIG"
+
+#define STR 128
+#define BIG_STR 1024
+#define MAX_VAR_SIZE 32767
+#define MAX_ARGS 32768
+
+#define TRUE_STR "true"
+#define FALSE_STR "false"
+
+#define ERROR_FORMAT "Error:\t\t%s\n"
+#define debug(args...) if (hLog != NULL) fprintf(hLog, ## args);
+
+typedef void (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
+
+BOOL initGlobals();
+FILE* openLogFile(const char* exePath, const int pathLen);
+void closeLogFile();
+BOOL initializeLogging(const char *lpCmdLine, const char* exePath, const int pathLen);
+void msgBox(const char* text);
+void signalError();
+BOOL loadString(const int resID, char* buffer);
+BOOL loadBool(const int resID);
+int loadInt(const int resID);
+BOOL regQueryValue(const char* regPath, unsigned char* buffer,
+		unsigned long bufferLength);
+void regSearch(const char* keyName, const int searchType);
+BOOL isJavaHomeValid(const char* keyName, const int searchType);
+BOOL isLauncherPathValid(const char* path);
+void regSearchWow(const char* keyName, const int searchType);
+void regSearchJreSdk(const char* jreKeyName, const char* sdkKeyName,
+		const int jdkPreference);
+BOOL findJavaHome(char* path, const int jdkPreference);
+int getExePath(char* exePath);
+void appendPath(char* basepath, const char* path);
+void appendLauncher(char* jrePath);
+void appendAppClasspath(char* dst, const char* src);
+BOOL expandVars(char *dst, const char *src, const char *exePath, const int pathLen);
+void appendHeapSizes(char *dst);
+void appendHeapSize(char *dst, const int megabytesID, const int percentID,
+		const DWORDLONG availableMemory, const char *option);
+void setJvmOptions(char *jvmOptions, const char *exePath);
+BOOL createMutex();
+void setWorkingDirectory(const char *exePath, const int pathLen);
+BOOL bundledJreSearch(const char *exePath, const int pathLen);
+BOOL installedJreSearch();
+void createJreSearchError();
+BOOL jreSearch(const char *exePath, const int pathLen);
+BOOL appendToPathVar(const char* path);
+BOOL appendJreBinToPathVar();
+void setEnvironmentVariables(const char *exePath, const int pathLen);
+void setMainClassAndClassPath(const char *exePath, const int pathLen);
+void setCommandLineArgs(const char *lpCmdLine);
+int prepare(const char *lpCmdLine);
+void closeProcessHandles();
+BOOL execute(const BOOL wait, DWORD *dwExitCode);
+
+#endif // _LAUNCH4J_HEAD__INCLUDED_
diff --git a/packaging_tools/windows/launch4j/head_src/resource.h b/packaging_tools/windows/launch4j/head_src/resource.h
new file mode 100644
index 0000000..829923d
--- /dev/null
+++ b/packaging_tools/windows/launch4j/head_src/resource.h
@@ -0,0 +1,75 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2014 Grzegorz Kowal
+							 Ian Roberts (jdk preference patch)
+
+	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.
+
+	Except as contained in this notice, the name(s) of the above copyright holders
+	shall not be used in advertising or otherwise to promote the sale, use or other
+	dealings in this Software without prior written authorization.
+
+	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.
+*/
+
+// ICON
+#define APP_ICON 					1
+
+// BITMAP
+#define SPLASH_BITMAP				1
+
+// RCDATA
+#define JRE_PATH					1
+#define JAVA_MIN_VER				2
+#define JAVA_MAX_VER				3
+#define SHOW_SPLASH					4
+#define SPLASH_WAITS_FOR_WINDOW		5
+#define SPLASH_TIMEOUT				6 
+#define SPLASH_TIMEOUT_ERR			7
+#define CHDIR						8
+#define SET_PROC_NAME				9
+#define ERR_TITLE					10
+#define GUI_HEADER_STAYS_ALIVE		11
+#define JVM_OPTIONS					12
+#define CMD_LINE					13
+#define JAR							14
+#define MAIN_CLASS					15
+#define CLASSPATH					16
+#define WRAPPER						17
+#define JDK_PREFERENCE				18
+#define ENV_VARIABLES				19
+#define PRIORITY_CLASS				20
+#define DOWNLOAD_URL				21
+#define SUPPORT_URL					22
+#define MUTEX_NAME					23
+#define INSTANCE_WINDOW_TITLE		24
+#define INITIAL_HEAP_SIZE			25
+#define INITIAL_HEAP_PERCENT		26
+#define MAX_HEAP_SIZE				27
+#define MAX_HEAP_PERCENT			28
+#define BUNDLED_JRE_64_BIT			29
+#define RUNTIME_BITS				30
+#define RESTART_ON_CRASH			31
+#define BUNDLED_JRE_AS_FALLBACK		32
+
+#define STARTUP_ERR					101
+#define BUNDLED_JRE_ERR				102
+#define JRE_VERSION_ERR				103
+#define LAUNCHER_ERR				104
+#define INSTANCE_ALREADY_EXISTS_MSG	105
diff --git a/packaging_tools/windows/launch4j/launch4j b/packaging_tools/windows/launch4j/launch4j
new file mode 100755
index 0000000..7d65191
--- /dev/null
+++ b/packaging_tools/windows/launch4j/launch4j
@@ -0,0 +1,7 @@
+#!/bin/sh
+LAUNCH4J="$(dirname "$0")"/launch4j.jar
+if [ -n "$JAVA_HOME" ]; then
+  $JAVA_HOME/bin/java -jar "$LAUNCH4J" "$@"
+else
+  java -jar "$LAUNCH4J" "$@"
+fi
diff --git a/packaging_tools/windows/launch4j/launch4j.jfpr b/packaging_tools/windows/launch4j/launch4j.jfpr
new file mode 100644
index 0000000..a2e63eb
Binary files /dev/null and b/packaging_tools/windows/launch4j/launch4j.jfpr differ
diff --git a/packaging_tools/windows/launch4j/lib/JGoodies.Forms.LICENSE.txt b/packaging_tools/windows/launch4j/lib/JGoodies.Forms.LICENSE.txt
new file mode 100644
index 0000000..ae76541
--- /dev/null
+++ b/packaging_tools/windows/launch4j/lib/JGoodies.Forms.LICENSE.txt
@@ -0,0 +1,31 @@
+
+              The BSD License for the JGoodies Forms
+              ======================================
+
+Copyright (c) 2002-2014 JGoodies Software GmbH. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without 
+modification, are permitted provided that the following conditions are met:
+
+ o Redistributions of source code must retain the above copyright notice, 
+   this list of conditions and the following disclaimer. 
+    
+ o 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. 
+    
+ o Neither the name of JGoodies Software GmbH 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 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.
diff --git a/packaging_tools/windows/launch4j/lib/JGoodies.Looks.LICENSE.txt b/packaging_tools/windows/launch4j/lib/JGoodies.Looks.LICENSE.txt
new file mode 100644
index 0000000..5aa0a24
--- /dev/null
+++ b/packaging_tools/windows/launch4j/lib/JGoodies.Looks.LICENSE.txt
@@ -0,0 +1,31 @@
+
+              The BSD License for the JGoodies Looks
+              ======================================
+
+Copyright (c) 2001-2014 JGoodies Software GmbH. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without 
+modification, are permitted provided that the following conditions are met:
+
+ o Redistributions of source code must retain the above copyright notice, 
+   this list of conditions and the following disclaimer. 
+    
+ o 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. 
+    
+ o Neither the name of JGoodies Software GmbH 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 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.
diff --git a/packaging_tools/windows/launch4j/lib/Nuvola.Icon.Theme.LICENSE.txt b/packaging_tools/windows/launch4j/lib/Nuvola.Icon.Theme.LICENSE.txt
new file mode 100644
index 0000000..b1e3f5a
--- /dev/null
+++ b/packaging_tools/windows/launch4j/lib/Nuvola.Icon.Theme.LICENSE.txt
@@ -0,0 +1,504 @@
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+

+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+

+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+

+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+

+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+

+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+

+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+

+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+

+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+

+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    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; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/packaging_tools/windows/launch4j/lib/XStream.LICENSE.txt b/packaging_tools/windows/launch4j/lib/XStream.LICENSE.txt
new file mode 100644
index 0000000..4848b3e
--- /dev/null
+++ b/packaging_tools/windows/launch4j/lib/XStream.LICENSE.txt
@@ -0,0 +1,27 @@
+(BSD Style License)
+
+Copyright (c) 2003-2004, Joe Walnes
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of
+conditions and the following disclaimer. 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.
+
+Neither the name of XStream 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 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.
diff --git a/packaging_tools/windows/launch4j/lib/ant.LICENSE.txt b/packaging_tools/windows/launch4j/lib/ant.LICENSE.txt
new file mode 100644
index 0000000..261eeb9
--- /dev/null
+++ b/packaging_tools/windows/launch4j/lib/ant.LICENSE.txt
@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
diff --git a/packaging_tools/windows/launch4j/lib/commons.LICENSE.txt b/packaging_tools/windows/launch4j/lib/commons.LICENSE.txt
new file mode 100644
index 0000000..e12244a
--- /dev/null
+++ b/packaging_tools/windows/launch4j/lib/commons.LICENSE.txt
@@ -0,0 +1,50 @@
+/*
+
+ ============================================================================
+                   The Apache Software License, Version 1.1
+ ============================================================================
+ 
+ Copyright (C) @year@ The Apache Software Foundation. All rights reserved.
+ 
+ Redistribution and use in source and binary forms, with or without modifica-
+ tion, 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 end-user documentation included with the redistribution, if any, must
+    include  the following  acknowledgment:  "This product includes  software
+    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
+    Alternately, this  acknowledgment may  appear in the software itself,  if
+    and wherever such third-party acknowledgments normally appear.
+ 
+ 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
+    used to  endorse or promote  products derived from  this software without
+    prior written permission. For written permission, please contact
+    apache at apache.org.
+ 
+ 5. Products  derived from this software may not  be called "Apache", nor may
+    "Apache" appear  in their name,  without prior written permission  of the
+    Apache Software Foundation.
+ 
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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
+ APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
+ DING, 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.
+ 
+ This software  consists of voluntary contributions made  by many individuals
+ on  behalf of the Apache Software  Foundation and was  originally created by
+ Stefano Mazzocchi  <stefano at apache.org>. For more  information on the Apache 
+ Software Foundation, please see <http://www.apache.org/>.
+ 
+*/
diff --git a/packaging_tools/windows/launch4j/lib/foxtrot.LICENSE.txt b/packaging_tools/windows/launch4j/lib/foxtrot.LICENSE.txt
new file mode 100644
index 0000000..49e0c5a
--- /dev/null
+++ b/packaging_tools/windows/launch4j/lib/foxtrot.LICENSE.txt
@@ -0,0 +1,25 @@
+Copyright (c) 2002, Simone Bordet & Marco Cravero
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted 
+provided that the following conditions are met: 
+
+	- Redistributions of source code must retain the above copyright notice, 
+	  this list of conditions and the following disclaimer. 
+
+	- 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. 
+
+	- Neither the name of Foxtrot nor the names of the contributors may 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 REGENTS 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.
diff --git a/packaging_tools/windows/launch4j/manifest/uac.exe.manifest b/packaging_tools/windows/launch4j/manifest/uac.exe.manifest
new file mode 100644
index 0000000..3041fbc
--- /dev/null
+++ b/packaging_tools/windows/launch4j/manifest/uac.exe.manifest
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
+        <security>
+            <requestedPrivileges>
+                <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
+                <!-- <requestedExecutionLevel level="highestAvailable" uiAccess="false"/> -->
+                <!-- <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> -->
+            </requestedPrivileges>
+        </security>
+    </trustInfo>
+</assembly>    
\ No newline at end of file
diff --git a/packaging_tools/windows/launch4j/maven/.classpath b/packaging_tools/windows/launch4j/maven/.classpath
new file mode 100644
index 0000000..9f62fb5
--- /dev/null
+++ b/packaging_tools/windows/launch4j/maven/.classpath
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry including="**/*.java" kind="src" output="target/classes" path="src">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="demo/SimpleApp/build" path="demo/SimpleApp/src"/>
+	<classpathentry kind="src" output="demo/ConsoleApp/build" path="demo/ConsoleApp/src"/>
+
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+
+</classpath>
diff --git a/packaging_tools/windows/launch4j/maven/.project b/packaging_tools/windows/launch4j/maven/.project
new file mode 100644
index 0000000..08f8689
--- /dev/null
+++ b/packaging_tools/windows/launch4j/maven/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>launch4j</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/packaging_tools/windows/launch4j/maven/.settings/org.eclipse.m2e.core.prefs b/packaging_tools/windows/launch4j/maven/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/packaging_tools/windows/launch4j/maven/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/packaging_tools/windows/launch4j/maven/assembly/assemble-dist.xml b/packaging_tools/windows/launch4j/maven/assembly/assemble-dist.xml
new file mode 100644
index 0000000..20f2c17
--- /dev/null
+++ b/packaging_tools/windows/launch4j/maven/assembly/assemble-dist.xml
@@ -0,0 +1,14 @@
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+	<id>distribution-libs</id>
+	<formats>
+		<format>dir</format>
+	</formats>
+	<includeBaseDirectory>false</includeBaseDirectory>
+	<dependencySets>
+		<dependencySet>
+			<includes></includes>
+			<useProjectArtifact>false</useProjectArtifact>
+		</dependencySet>
+	</dependencySets>
+</assembly>
\ No newline at end of file
diff --git a/packaging_tools/windows/launch4j/maven/assembly/assemble-linux.xml b/packaging_tools/windows/launch4j/maven/assembly/assemble-linux.xml
new file mode 100644
index 0000000..aa4abd0
--- /dev/null
+++ b/packaging_tools/windows/launch4j/maven/assembly/assemble-linux.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Maven Launch4j Plugin
+Copyright (c) 2006 Paul Jungwirth
+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. Neither the name of the copyright holder 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 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 HOLDER 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.
+-->
+<assembly>
+	<id>workdir-linux</id>
+	<formats>
+		<format>jar</format>
+	</formats>
+	<includeBaseDirectory>false</includeBaseDirectory>
+	<fileSets>
+		<fileSet>
+			<directory>bin/bin-linux</directory>
+			<outputDirectory>${finalName}-workdir-linux/bin</outputDirectory>
+		</fileSet>
+		<fileSet>			
+			<outputDirectory>${finalName}-workdir-linux</outputDirectory>
+			<includes>
+				<include>w32api/**/*</include>
+				<include>head/**/*</include>
+			</includes>
+		</fileSet>
+	</fileSets>
+</assembly>
diff --git a/packaging_tools/windows/launch4j/maven/assembly/assemble-mac.xml b/packaging_tools/windows/launch4j/maven/assembly/assemble-mac.xml
new file mode 100644
index 0000000..30453be
--- /dev/null
+++ b/packaging_tools/windows/launch4j/maven/assembly/assemble-mac.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Maven Launch4j Plugin
+Copyright (c) 2006 Paul Jungwirth
+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. Neither the name of the copyright holder 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 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 HOLDER 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.
+-->
+<assembly>
+	<id>workdir-mac</id>
+	<formats>
+		<format>jar</format>
+	</formats>
+	<includeBaseDirectory>false</includeBaseDirectory>
+	<fileSets>
+		<fileSet>
+			<directory>bin/bin-macosx-x86</directory>
+			<outputDirectory>${finalName}-workdir-mac/bin</outputDirectory>
+		</fileSet>
+		<fileSet>			
+			<outputDirectory>${finalName}-workdir-mac</outputDirectory>
+			<includes>
+				<include>w32api/**/*</include>
+				<include>head/**/*</include>
+			</includes>
+		</fileSet>
+	</fileSets>
+</assembly>
diff --git a/packaging_tools/windows/launch4j/maven/assembly/assemble-solaris.xml b/packaging_tools/windows/launch4j/maven/assembly/assemble-solaris.xml
new file mode 100644
index 0000000..945d360
--- /dev/null
+++ b/packaging_tools/windows/launch4j/maven/assembly/assemble-solaris.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Maven Launch4j Plugin
+Copyright (c) 2006 Paul Jungwirth
+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. Neither the name of the copyright holder 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 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 HOLDER 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.
+-->
+<assembly>
+	<id>workdir-solaris</id>
+	<formats>
+		<format>jar</format>
+	</formats>
+	<includeBaseDirectory>false</includeBaseDirectory>
+	<fileSets>
+		<fileSet>
+			<directory>bin/solaris</directory>
+			<outputDirectory>${finalName}-workdir-solaris/bin</outputDirectory>
+		</fileSet>
+		<fileSet>
+			<outputDirectory>${finalName}-workdir-solaris</outputDirectory>
+			<includes>
+				<include>w32api/**/*</include>
+				<include>head/**/*</include>
+			</includes>
+		</fileSet>
+	</fileSets>
+</assembly>
diff --git a/packaging_tools/windows/launch4j/maven/assembly/assemble-win32.xml b/packaging_tools/windows/launch4j/maven/assembly/assemble-win32.xml
new file mode 100644
index 0000000..5f382fc
--- /dev/null
+++ b/packaging_tools/windows/launch4j/maven/assembly/assemble-win32.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Maven Launch4j Plugin
+Copyright (c) 2006 Paul Jungwirth
+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. Neither the name of the copyright holder 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 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 HOLDER 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.
+-->
+<assembly>
+	<id>workdir-win32</id>
+	<formats>
+		<format>jar</format>
+	</formats>
+	<includeBaseDirectory>false</includeBaseDirectory>
+	<fileSets>
+		<fileSet>
+			<directory>bin/bin-win32</directory>
+			<outputDirectory>${finalName}-workdir-win32/bin</outputDirectory>
+		</fileSet>
+		<fileSet>
+<!-- 			<directory>src/main</directory> -->
+			<outputDirectory>${finalName}-workdir-win32</outputDirectory>
+			<includes>
+				<include>w32api/**/*</include>
+				<include>head/**/*</include>
+			</includes>
+		</fileSet>
+	</fileSets>
+</assembly>
diff --git a/packaging_tools/windows/launch4j/maven/assembly/src.xml b/packaging_tools/windows/launch4j/maven/assembly/src.xml
new file mode 100644
index 0000000..c930835
--- /dev/null
+++ b/packaging_tools/windows/launch4j/maven/assembly/src.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Maven Launch4j Plugin
+Copyright (c) 2006 Paul Jungwirth
+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. Neither the name of the copyright holder 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 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 HOLDER 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.
+-->
+<assembly>
+  <id>src</id>
+  <formats>
+    <format>tar.gz</format>
+    <format>zip</format>
+  </formats>
+  <fileSets>
+    <fileSet>
+      <includes>
+        <include>README*</include>
+        <include>LICENSE*</include>
+        <include>NOTICE*</include>
+        <include>TODO</include>
+        <include>pom.xml</include>
+      </includes>
+    </fileSet>
+    <fileSet>
+      <directory>src</directory>
+	  <excludes>
+		  <exclude>**/.*.swp</exclude>
+	  </excludes>
+    </fileSet>
+  </fileSets>
+</assembly>
diff --git a/packaging_tools/windows/launch4j/maven/maven-readme.txt b/packaging_tools/windows/launch4j/maven/maven-readme.txt
new file mode 100644
index 0000000..8429754
--- /dev/null
+++ b/packaging_tools/windows/launch4j/maven/maven-readme.txt
@@ -0,0 +1,10 @@
+Run once the Ant target switch-to-maven, it will reconfigure the project to use maven.
+
+*** Creation of Distribution Release ***
+Windows: mvn -P dist,win32 clean package
+
+Linux: mvn -P dist,linux clean package  
+
+MacOsX 10.8: mvn -P dist,macosx-x86-10.8 clean package
+
+MacOsX: mvn -P dist,macosx-x86 clean package
diff --git a/packaging_tools/windows/launch4j/maven/pom.xml b/packaging_tools/windows/launch4j/maven/pom.xml
new file mode 100644
index 0000000..3d614c0
--- /dev/null
+++ b/packaging_tools/windows/launch4j/maven/pom.xml
@@ -0,0 +1,518 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>net.sf.launch4j</groupId>
+	<artifactId>launch4j</artifactId>
+	<version>3.8.0</version>
+	<name>Launch4j</name>
+	<description>Cross-platform Java executable wrapper for creating lightweight Windows native EXEs. Provides advanced JRE search, application startup configuration and better user experience.</description>
+	<url>http://sourceforge.net/projects/launch4j/</url>
+
+	<licenses>
+		<license>
+			<name>BSD 3-Clause License</name>
+			<url>http://opensource.org/licenses/BSD-3-Clause</url>
+			<comments>Launch4j is licensed under the BSD 3-Clause License.</comments>
+		</license>
+		<license>
+			<name>MIT License</name>
+			<url>http://www.opensource.org/licenses/mit-license.php</url>
+			<comments>Launch4j code (head) which is attached to the wrapped jars is licensed under the MIT License.</comments>
+		</license>
+	</licenses>
+
+	<developers>
+		<developer>
+			<name>Grzegorz Kowal</name>
+			<url>http://sourceforge.net/u/grzegok/profile/</url>
+		</developer>
+	</developers>
+
+	<scm>
+		<connection>scm:git:http://git.code.sf.net/p/launch4j/git</connection>
+		<developerConnection>scm:git:http://git.code.sf.net/p/launch4j/git</developerConnection>
+		<url>http://sourceforge.net/p/launch4j/git/ci/master/tree/</url>
+	</scm>
+
+	<distributionManagement>
+		<snapshotRepository>
+			<id>ossrh</id>
+			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
+		</snapshotRepository>
+	</distributionManagement>
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<versionNumber>3.8.0.0</versionNumber>
+		<version>3.8</version>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>commons-beanutils</groupId>
+			<artifactId>commons-beanutils</artifactId>
+			<exclusions>
+				<exclusion>
+					<artifactId>commons-collections</artifactId>
+					<groupId>commons-collections</groupId>
+				</exclusion>
+			</exclusions>
+			<version>1.7.0</version>
+		</dependency>
+		<dependency>
+			<groupId>commons-logging</groupId>
+			<artifactId>commons-logging</artifactId>
+			<version>1.2</version>
+		</dependency>
+		<dependency>
+			<groupId>net.java.abeille</groupId>
+			<artifactId>abeille</artifactId>
+			<version>3.0</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>colt</artifactId>
+					<groupId>colt</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>
+						com.springsource.org.apache.batik.ext.awt
+					</artifactId>
+					<groupId>org.apache.batik</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>
+						com.springsource.org.apache.batik.util
+					</artifactId>
+					<groupId>org.apache.batik</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>dom4j</artifactId>
+					<groupId>dom4j</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>dsol-xml</artifactId>
+					<groupId>dsol</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>javahelp</artifactId>
+					<groupId>javax.help</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>jfreechart</artifactId>
+					<groupId>jfree</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>jcommon</artifactId>
+					<groupId>jfree</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>mahout-collections</artifactId>
+					<groupId>org.apache.mahout</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>optimization</artifactId>
+					<groupId>com.github.rwl</groupId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>foxtrot</groupId>
+			<artifactId>foxtrot</artifactId>
+			<version>2.0</version>
+		</dependency>
+		<dependency>
+			<groupId>com.jgoodies</groupId>
+			<artifactId>jgoodies-common</artifactId>
+			<version>1.7.0</version>
+		</dependency>
+		<dependency>
+			<groupId>com.jgoodies</groupId>
+			<artifactId>forms</artifactId>
+			<version>1.2.1</version>
+		</dependency>
+		<dependency>
+			<groupId>com.jgoodies</groupId>
+			<artifactId>looks</artifactId>
+			<version>2.2.2</version>
+		</dependency>
+		<dependency>
+			<groupId>com.thoughtworks.xstream</groupId>
+			<artifactId>xstream</artifactId>
+			<version>1.4.8</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ant</groupId>
+			<artifactId>ant</artifactId>
+			<version>1.8.2</version>
+		</dependency>
+
+	</dependencies>
+
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<resources>
+			<resource>
+				<directory>src</directory>
+				<excludes>
+					<exclude>**/*.java</exclude>
+				</excludes>
+			</resource>
+		</resources>
+		<plugins>
+			<plugin>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<version>3.1</version>
+				<configuration>
+					<source>1.6</source>
+					<target>1.6</target>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>com.github.taxone.plugins</groupId>
+				<artifactId>classpath-maven-plugin</artifactId>
+				<version>1.0.0</version>
+				<executions>
+					<execution>
+						<id>set-classpath-property</id>
+						<phase>prepare-package</phase>
+						<goals>
+							<goal>setClassPath</goal>
+						</goals>
+						<configuration>
+							<classpathPrefix>lib/</classpathPrefix>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-jar-plugin</artifactId>
+				<version>2.5</version>
+				<executions>
+					<execution>
+						<id>default-jar</id>
+						<phase>package</phase>
+						<goals>
+							<goal>jar</goal>
+						</goals>
+						<configuration>
+							<archive>
+								<manifest>
+									<mainClass>net.sf.launch4j.Main</mainClass>
+								</manifest>
+								<manifestEntries>
+									<Class-Path>. ${taxone.classpath.propertyName}</Class-Path>
+								</manifestEntries>
+							</archive>
+						</configuration>
+					</execution>
+					<execution>
+						<id>core-jar</id>
+						<phase>package</phase>
+						<goals>
+							<goal>jar</goal>
+						</goals>
+						<configuration>
+							<finalName>${project.build.finalName}</finalName>
+							<excludes>
+								<exclude>net/sf/launch4j/form/</exclude>
+								<exclude>net/sf/launch4j/formimpl</exclude>
+							</excludes>
+							<classifier>core</classifier>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<artifactId>maven-assembly-plugin</artifactId>
+				<version>2.4.1</version>
+				<executions>
+					<execution>
+						<id>assemble-workdir</id>
+						<phase>package</phase>
+						<goals>
+							<goal>attached</goal>
+						</goals>
+						<configuration>
+							<descriptors>
+								<descriptor>assembly/assemble-linux.xml</descriptor>
+								<descriptor>assembly/assemble-win32.xml</descriptor>
+								<descriptor>assembly/assemble-mac.xml</descriptor>
+							</descriptors>
+						</configuration>
+					</execution>
+					<execution>
+						<id>assemble-distrib</id>
+						<phase>package</phase>
+						<goals>
+							<goal>single</goal>
+						</goals>
+						<configuration>
+							<finalName>lib</finalName>
+							<outputDirectory>${basedir}</outputDirectory>
+							<appendAssemblyId>false</appendAssemblyId>
+							<descriptors>
+								<descriptor>assembly/assemble-dist.xml</descriptor>
+							</descriptors>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<artifactId>maven-resources-plugin</artifactId>
+				<version>2.6</version>
+				<executions>
+					<execution>
+						<id>copy-resources</id>
+						<phase>package</phase>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals>
+						<configuration>
+							<outputDirectory>${basedir}</outputDirectory>
+							<resources>
+								<resource>
+									<directory>target</directory>
+									<includes>
+										<include>${project.build.finalName}.jar</include>
+									</includes>
+								</resource>
+							</resources>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<artifactId>maven-clean-plugin</artifactId>
+				<version>2.6</version>
+				<configuration>
+					<filesets>
+						<fileset>
+							<directory>${basedir}</directory>
+							<includes>
+								<include>${project.build.finalName}.jar</include>
+							</includes>
+						</fileset>
+					</filesets>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+
+	<profiles>
+		<profile>
+			<id>full-release</id>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-source-plugin</artifactId>
+						<version>2.3</version>
+						<executions>
+							<execution>
+								<id>attach-sources</id>
+								<goals>
+									<goal>jar-no-fork</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-javadoc-plugin</artifactId>
+						<version>2.9.1</version>
+						<executions>
+							<execution>
+								<id>attach-javadocs</id>
+								<goals>
+									<goal>jar</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-gpg-plugin</artifactId>
+						<version>1.5</version>
+						<executions>
+							<execution>
+								<id>sign-artifacts</id>
+								<goals>
+									<goal>sign</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+					<plugin>
+						<groupId>org.sonatype.plugins</groupId>
+						<artifactId>nexus-staging-maven-plugin</artifactId>
+						<version>1.6.2</version>
+						<extensions>true</extensions>
+						<configuration>
+							<serverId>ossrh</serverId>
+							<nexusUrl>https://oss.sonatype.org/</nexusUrl>
+							<!-- Release has to be executed manually -->
+							<autoReleaseAfterClose>false</autoReleaseAfterClose>
+						</configuration>
+					</plugin>
+
+				</plugins>
+			</build>
+		</profile>
+		<!-- Macosx-x86 10.8 Profile -->
+		<profile>
+			<id>macosx-x86-10.8</id>
+			<properties>
+				<bin.dir>bin-macosx-x86-10.8</bin.dir>
+			</properties>
+		</profile>
+		<!-- Macosx-x86 Profile -->
+		<profile>
+			<id>macosx-x86</id>
+			<properties>
+				<bin.dir>bin-macosx-x86</bin.dir>
+			</properties>
+		</profile>
+		<!-- Linux Profile -->
+		<profile>
+			<id>linux</id>
+			<properties>
+				<bin.dir>bin-linux</bin.dir>
+			</properties>
+		</profile>
+		<!-- Windows Profile -->
+		<profile>
+			<id>win32</id>
+			<properties>
+				<bin.dir>bin-win32</bin.dir>
+			</properties>
+			<build>
+				<plugins>					
+					<!-- Creates Launch4j executable -->
+					<plugin>
+						<groupId>com.akathist.maven.plugins.launch4j</groupId>
+						<artifactId>launch4j-maven-plugin</artifactId>
+						<version>1.6</version>
+						<executions>
+							<execution>
+								<id>launch4j</id>
+								<phase>package</phase>
+								<goals>
+									<goal>launch4j</goal>
+								</goals>
+								<configuration>
+									<headerType>gui</headerType>
+									<dontWrapJar>true</dontWrapJar>
+									<jar>${project.build.finalName}.jar</jar>
+									<outfile>launch4j.exe</outfile>
+									<errTitle>launch4j</errTitle>
+									<chdir>.</chdir>
+									<stayAlive>false</stayAlive>
+
+									<jre>
+										<minVersion>1.6.0</minVersion>
+									</jre>
+									<versionInfo>
+										<fileVersion>${versionNumber}</fileVersion>
+										<txtFileVersion>${version}</txtFileVersion>
+										<productVersion>${versionNumber}</productVersion>
+										<txtProductVersion>${version}</txtProductVersion>
+										<fileDescription>Cross-platform Java application wrapper</fileDescription>
+										<copyright>Copyright (C) 2004, 2014 Grzegorz Kowal</copyright>
+										<productName>launch4j</productName>
+										<companyName>http://launch4j.sourceforge.net/</companyName>
+										<internalName>GUI launcher</internalName>
+										<originalFilename>launch4j.exe</originalFilename>
+									</versionInfo>
+								</configuration>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+		<!-- Generic distribution profile -->
+		<profile>
+			<id>dist</id>			
+			<build>
+				<plugins>
+					<!-- Clean -->
+					<plugin>
+						<artifactId>maven-clean-plugin</artifactId>
+						<version>2.6</version>
+						<configuration>
+							<filesets>								
+								<fileset>
+									<directory>${basedir}/bin</directory>
+									<includes>
+										<incude>*</incude>
+									</includes>
+									<excludes>
+										<exclude>COPYING</exclude>
+									</excludes>
+								</fileset>
+								<fileset>
+									<directory>${basedir}</directory>
+									<includes>
+										<incude>launch4j.exe</incude>
+									</includes>
+								</fileset>		
+								<fileset>
+									<directory>${basedir}</directory>
+									<includes>
+										<incude>lib/</incude>
+									</includes>
+								</fileset>
+							</filesets>
+						</configuration>
+					</plugin>
+					<!-- Copies executables to "bin" directory -->
+					<plugin>
+						<artifactId>maven-resources-plugin</artifactId>
+						<version>2.6</version>
+						<executions>
+							<execution>
+								<id>copy-binutils</id>
+								<phase>prepare-package</phase>
+								<goals>
+									<goal>copy-resources</goal>
+								</goals>
+								<configuration>
+									<outputDirectory>${basedir}/bin</outputDirectory>
+									<resources>
+										<resource>
+											<directory>${basedir}/bin/${bin.dir}</directory>
+										</resource>
+									</resources>
+								</configuration>
+							</execution>
+						</executions>
+					</plugin>
+					<!-- Change Permissions -->
+					<plugin>
+						<artifactId>maven-antrun-plugin</artifactId>
+						<version>1.7</version>
+						<executions>
+							<execution>
+								<phase>package</phase>
+								<configuration>
+									<target>
+										<chmod file="launch4j" perm="+x" />
+										<chmod file="bin/windres" perm="+x" />
+										<chmod file="bin/ld" perm="+x" />
+									</target>
+								</configuration>
+								<goals>
+									<goal>run</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+	
+	
+	</profiles>
+
+</project>
\ No newline at end of file
diff --git a/packaging_tools/windows/launch4j/sign4j/README.txt b/packaging_tools/windows/launch4j/sign4j/README.txt
new file mode 100644
index 0000000..a05b644
--- /dev/null
+++ b/packaging_tools/windows/launch4j/sign4j/README.txt
@@ -0,0 +1,18 @@
+sign4j version 3.0
+------------------
+
+sign4j is a very simple utility to digitally sign executables containing an appended jar file, like those created by launch4j.
+
+It works by first signing a temporary file to detect the size of the applied signature, and by then adding that size to a counter in the ZIP_END_HEADER of the embedded jar, so as to pretend that the signature is a comment belonging to it. That way the jar remains formally correct, and java accepts it.
+
+This manipulation must be done atomically with the signing process, because doing it before would invalidate the jar file, while doing it later would break the signature. That's why the whole command line of your signing tool must be passed to sign4j, which will do the job.
+
+Any signing tool can be used, as long as the name of the output file can be recognized among its parameters. This is currently done by either using an -out option if present, or taking the last filename with an exe suffix after all supplied options.
+
+If the involved tool is able to remove a previous signature before adding the new one (as is normally the case) the initial test can be performed on the target executable itself, avoiding the creation of a temporary file. You can use the option --onthespot to signal that to sign4j.
+
+The option --strict can be used to suppress the use of double quotes around parameters that strictly don't need them. The option --verbose shows diagnostics about intermediary steps of the process.
+
+This utility can also be used to sign normal executables, but then it will remember you that the file can be signed directly.
+
+Please send comments to bramfeld at diogen.de
diff --git a/packaging_tools/windows/launch4j/sign4j/sign4j.c b/packaging_tools/windows/launch4j/sign4j/sign4j.c
new file mode 100644
index 0000000..475334e
--- /dev/null
+++ b/packaging_tools/windows/launch4j/sign4j/sign4j.c
@@ -0,0 +1,259 @@
+/*
+	sign4j.c: a simple utility to sign executables created by Launch4j
+
+	Copyright (c) 2012 Servoy
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#ifdef _WIN32
+#include <io.h>
+#include <fcntl.h>
+#else
+#include <sys/io.h>
+#include <sys/fcntl.h>
+#endif
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#define ZIP_END_HEADER     "\x50\x4B\x05\x06"
+#define END_HEADER_SIZE    22
+#define MAX_COMMENT_SIZE   0xFFFF
+#define SWAP_BLOCK_SIZE    (4 * 1024 * 1024)
+#define TEST_FILE_NAME     "sign4j_temporary.exe"
+#define SIGN4J_VERSION     "3.0"
+
+#ifndef _WIN32
+#define O_BINARY 0
+#define _O_SHORT_LIVED 0
+#define _S_IREAD S_IREAD
+#define _S_IWRITE S_IWRITE
+#define stricmp strcasecmp
+#endif
+
+typedef unsigned char byte;
+
+char  command[4096];
+byte* image = 0;
+
+void usage (void);
+void quit (int rsn);
+void clear (void);
+
+int main (int argc, char* argv[])
+{
+   char  bfr[2];
+   char* inf;
+   char* outf;
+   char* trg;
+   byte* lmt;
+   long  lng, ext, off, blck, sgm;
+   int   fd, td;
+   int   fnd, spt, unq, vrb, qts, cmn;
+   int   i, j, n;
+   byte* p;
+
+   inf = outf = 0, fnd = spt = unq = vrb = 0;
+   for (i = 1; i < argc && argv[i][0] == '-'; i++)
+      if (! strcmp (argv[i], "--onthespot")) 
+         spt = 1;
+      else if (! strcmp (argv[i], "--strict")) 
+         unq = 1;
+      else if (! strcmp (argv[i], "--verbose")) 
+         vrb = 1;
+   j = i;
+   for (i = j + 1; i < argc; i++)
+      if (! strcmp (argv[i], "-in") && i < argc - 1) 
+         inf = argv[++i], fnd = 1;
+      else if (! strcmp (argv[i], "-out") && i < argc - 1) 
+         outf = argv[++i], fnd = 1;
+      else if (argv[i][0] == '-' || (argv[i][0] == '/' && strlen (argv[i]) < 5))
+         (! fnd ? (inf = outf = 0) : 0);
+      else if (! fnd && (n = strlen (argv[i])) > 4 && ! stricmp (argv[i] + n - 4, ".exe"))
+         inf = outf = argv[i];
+   if (! inf || ! outf)
+      usage ();
+   atexit (clear);
+
+   if ((fd = open (inf, O_RDONLY | O_BINARY)) < 0)
+      quit (1);
+   if ((lng = lseek (fd, 0, SEEK_END)) < 0)
+      quit (2);
+   blck = (lng > SWAP_BLOCK_SIZE ? SWAP_BLOCK_SIZE : lng);
+   if (! (image = (byte*) malloc (blck)))
+      quit (4);
+   sgm = (blck > END_HEADER_SIZE + MAX_COMMENT_SIZE ? END_HEADER_SIZE + MAX_COMMENT_SIZE : blck);
+   if (lseek (fd, -sgm, SEEK_END) < 0 || read (fd, image, sgm) != sgm)
+      quit (2);
+   for (p = image + sgm - END_HEADER_SIZE; p > image; p--)
+      if (! memcmp (p, ZIP_END_HEADER, 4) && ((p[END_HEADER_SIZE - 1] << 8) | p[END_HEADER_SIZE - 2]) == (image + sgm) - (p + END_HEADER_SIZE))
+         break;
+   if (p > image)
+   {
+      off = lng - ((image + sgm) - (p + END_HEADER_SIZE - 2));
+      cmn = (p[END_HEADER_SIZE - 1] << 8) | p[END_HEADER_SIZE - 2];
+
+      if (! spt && (inf == outf || ! strcmp (inf, outf)))
+      {
+         printf ("Making temporary file\n");
+         if ((td = open (TEST_FILE_NAME, O_CREAT | _O_SHORT_LIVED | O_WRONLY | O_BINARY, _S_IREAD | _S_IWRITE)) < 0)
+            quit (5);
+         if (lseek (fd, 0, SEEK_SET) < 0)
+            quit (2);
+         for (ext = lng; ext > 0; ext -= blck)
+         {
+            sgm = (ext > blck ? blck : ext);
+            if (read (fd, image, sgm) != sgm || write (td, image, sgm) != sgm)
+               quit (6);
+         }
+         close (td);
+         trg = TEST_FILE_NAME;
+      }
+      else
+         trg = outf;
+      close (fd);
+
+#ifdef _WIN32
+      strcpy (command,  "\" ");
+#else
+      strcpy (command, "");
+#endif
+
+      for (i = j; i < argc; i++)
+      {
+         p = (argv[i] == outf ? trg : argv[i]);
+         qts = (! unq || strchr (p, 32));
+         if (qts)
+            strcat (command, "\"");
+         strcat (command, p);
+         if (qts)
+            strcat (command, "\"");
+         strcat (command, " ");
+      }
+
+#ifdef _WIN32
+      strcat (command, "\"");
+#endif
+
+      if (! vrb)
+#ifdef _WIN32
+         strcat (command, " > NUL");
+#else
+         strcat (command, " > /dev/null");
+#endif
+
+      system (command);
+
+      if ((td = open (trg, O_RDONLY | O_BINARY)) < 0)
+         quit (7);
+      if ((ext = lseek (td, 0, SEEK_END)) < 0)
+         quit (7);
+      close (td);
+      if ((cmn += ext - lng) < 0 || cmn > MAX_COMMENT_SIZE)
+         quit (8);
+
+      if ((fd = open (inf, O_WRONLY | O_BINARY)) < 0)
+         quit (1);
+      if (lseek (fd, off, SEEK_SET) < 0)
+         quit (3);
+      bfr[0] = cmn & 0xFF;
+      bfr[1] = (cmn >> 8) & 0xFF;
+      if (write (fd, bfr, 2) != 2)
+         quit (3);
+      close (fd);
+   }
+   else
+   {
+      close (fd);
+      printf ("You don't need sign4j to sign this file\n");
+   }
+
+#ifdef _WIN32
+   strcpy (command,  "\" ");
+#else
+   strcpy (command, "");
+#endif
+
+   for (i = j; i < argc; i++)
+   {
+      p = argv[i];
+      qts = (! unq || strchr (p, 32));
+      if (qts)
+         strcat (command, "\"");
+      strcat (command, p);
+      if (qts)
+         strcat (command, "\"");
+      strcat (command, " ");
+   }
+
+#ifdef _WIN32
+   strcat (command, "\"");
+#endif
+
+   return system (command);
+}
+
+
+void usage ()
+{
+   printf ("\nThis is sign4j version " SIGN4J_VERSION "\n\n");
+   printf ("Usage: sign4j [options] <arguments>\n\n");
+   printf (" * options:\n");
+   printf ("    --onthespot   avoid the creation of a temporary file (your tool must be able to sign twice)\n");
+   printf ("    --strict      supress the use of double quotes around parameters that strictly don't need them\n");
+   printf ("    --verbose     show diagnostics about intermediary steps of the process\n");
+   printf (" * arguments must specify verbatim the command line for your signing tool\n");
+   printf (" * only one file can be signed on each invocation\n");
+   exit (-1);
+}
+
+void quit (int rsn)
+{
+   switch (rsn)
+   {
+   case 1: puts ("Could not open file\n"); break;
+   case 2: puts ("Could not read file\n"); break;
+   case 3: puts ("Could not write file\n"); break;
+   case 4: puts ("Not enough memory\n"); break;
+   case 5: puts ("Could not open temporary\n"); break;
+   case 6: puts ("Could not write temporary\n"); break;
+   case 7: puts ("Could not read target\n"); break;
+   case 8: puts ("Unsupported operation\n"); break;
+   }
+   exit (-1);
+}
+
+void clear ()
+{
+   if (access (TEST_FILE_NAME, 0) == 0)
+      remove (TEST_FILE_NAME);
+   if (image)
+      free (image);
+}
diff --git a/packaging_tools/windows/launch4j/src/LICENSE.txt b/packaging_tools/windows/launch4j/src/LICENSE.txt
new file mode 100644
index 0000000..bf03c83
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/LICENSE.txt
@@ -0,0 +1,30 @@
+Launch4j (http://launch4j.sourceforge.net/)
+Cross-platform Java application wrapper for creating Windows native executables.
+
+Copyright (c) 2004, 2015 Grzegorz Kowal
+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. Neither the name of the copyright holder 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 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 HOLDER 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.
\ No newline at end of file
diff --git a/packaging_tools/windows/launch4j/src/images/asterix-o.gif b/packaging_tools/windows/launch4j/src/images/asterix-o.gif
new file mode 100644
index 0000000..f5cf3b3
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/asterix-o.gif differ
diff --git a/packaging_tools/windows/launch4j/src/images/asterix.gif b/packaging_tools/windows/launch4j/src/images/asterix.gif
new file mode 100644
index 0000000..ba80167
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/asterix.gif differ
diff --git a/packaging_tools/windows/launch4j/src/images/build.png b/packaging_tools/windows/launch4j/src/images/build.png
new file mode 100644
index 0000000..625285f
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/build.png differ
diff --git a/packaging_tools/windows/launch4j/src/images/button_ok.png b/packaging_tools/windows/launch4j/src/images/button_ok.png
new file mode 100644
index 0000000..5b0f6a6
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/button_ok.png differ
diff --git a/packaging_tools/windows/launch4j/src/images/cancel16.png b/packaging_tools/windows/launch4j/src/images/cancel16.png
new file mode 100644
index 0000000..a432b49
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/cancel16.png differ
diff --git a/packaging_tools/windows/launch4j/src/images/down16.png b/packaging_tools/windows/launch4j/src/images/down16.png
new file mode 100644
index 0000000..f3bc4cd
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/down16.png differ
diff --git a/packaging_tools/windows/launch4j/src/images/edit_add16.png b/packaging_tools/windows/launch4j/src/images/edit_add16.png
new file mode 100644
index 0000000..e948508
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/edit_add16.png differ
diff --git a/packaging_tools/windows/launch4j/src/images/info.png b/packaging_tools/windows/launch4j/src/images/info.png
new file mode 100644
index 0000000..eb37d9a
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/info.png differ
diff --git a/packaging_tools/windows/launch4j/src/images/new.png b/packaging_tools/windows/launch4j/src/images/new.png
new file mode 100644
index 0000000..6e2700a
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/new.png differ
diff --git a/packaging_tools/windows/launch4j/src/images/new16.png b/packaging_tools/windows/launch4j/src/images/new16.png
new file mode 100644
index 0000000..f38d02e
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/new16.png differ
diff --git a/packaging_tools/windows/launch4j/src/images/ok16.png b/packaging_tools/windows/launch4j/src/images/ok16.png
new file mode 100644
index 0000000..5b0f6a6
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/ok16.png differ
diff --git a/packaging_tools/windows/launch4j/src/images/open.png b/packaging_tools/windows/launch4j/src/images/open.png
new file mode 100644
index 0000000..a801665
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/open.png differ
diff --git a/packaging_tools/windows/launch4j/src/images/open16.png b/packaging_tools/windows/launch4j/src/images/open16.png
new file mode 100644
index 0000000..5321c17
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/open16.png differ
diff --git a/packaging_tools/windows/launch4j/src/images/run.png b/packaging_tools/windows/launch4j/src/images/run.png
new file mode 100644
index 0000000..b41fa2b
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/run.png differ
diff --git a/packaging_tools/windows/launch4j/src/images/save.png b/packaging_tools/windows/launch4j/src/images/save.png
new file mode 100644
index 0000000..74b37b0
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/save.png differ
diff --git a/packaging_tools/windows/launch4j/src/images/up16.png b/packaging_tools/windows/launch4j/src/images/up16.png
new file mode 100644
index 0000000..184c118
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/images/up16.png differ
diff --git a/packaging_tools/windows/launch4j/src/launch4j.properties b/packaging_tools/windows/launch4j/src/launch4j.properties
new file mode 100644
index 0000000..5ebbeb0
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/launch4j.properties
@@ -0,0 +1,2 @@
+versionNumber=3.8.0.0
+version=3.8
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/Builder.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/Builder.java
new file mode 100644
index 0000000..4b6452f
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/Builder.java
@@ -0,0 +1,214 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on 2005-04-24
+ */
+package net.sf.launch4j;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.StringTokenizer;
+
+import net.sf.launch4j.binding.InvariantViolationException;
+import net.sf.launch4j.config.Config;
+import net.sf.launch4j.config.ConfigPersister;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class Builder {
+	private final Log _log;
+	private final File _basedir;
+
+	public Builder(Log log) {
+		_log = log;
+		_basedir = Util.getJarBasedir();
+	}
+
+	public Builder(Log log, File basedir) {
+		_log = log;
+		_basedir = basedir;
+	}
+
+	/**
+	 * @return Output file path.
+	 */
+	public File build() throws BuilderException {
+		final Config c = ConfigPersister.getInstance().getConfig();
+		try {
+			c.validate();
+		} catch (InvariantViolationException e) {
+			throw new BuilderException(e.getMessage());
+		}
+		File rc = null;
+		File ro = null;
+		File outfile = null;
+		FileInputStream is = null;
+		FileOutputStream os = null;
+		final RcBuilder rcb = new RcBuilder();
+		try {
+			rc = rcb.build(c);
+			ro = Util.createTempFile("o");
+			outfile = ConfigPersister.getInstance().getOutputFile();
+
+			Cmd resCmd = new Cmd(_basedir);
+			resCmd.addExe("windres")
+					.add(Util.WINDOWS_OS ? "--preprocessor=type" : "--preprocessor=cat")
+					.add("-J rc -O coff -F pe-i386")
+					.addAbsFile(rc)
+					.addAbsFile(ro);
+			_log.append(Messages.getString("Builder.compiling.resources"));
+			resCmd.exec(_log);
+
+			Cmd ldCmd = new Cmd(_basedir);
+			ldCmd.addExe("ld")
+					.add("-mi386pe")
+					.add("--oformat pei-i386")
+					.add("--dynamicbase")
+					.add("--nxcompat")
+					.add("--no-seh")
+					.add((c.getHeaderType().equals(Config.GUI_HEADER))
+							? "--subsystem windows" : "--subsystem console")
+					.add("-s")		// strip symbols
+					.addFiles(c.getHeaderObjects())
+					.addAbsFile(ro)
+					.addFiles(c.getLibs())
+					.add("-o")
+					.addAbsFile(outfile);
+			_log.append(Messages.getString("Builder.linking"));
+			ldCmd.exec(_log);
+
+			if (!c.isDontWrapJar()) {
+				_log.append(Messages.getString("Builder.wrapping"));
+				int len;
+				byte[] buffer = new byte[1024];
+				is = new FileInputStream(Util.getAbsoluteFile(
+						ConfigPersister.getInstance().getConfigPath(),	c.getJar()));
+				os = new FileOutputStream(outfile, true);
+				while ((len = is.read(buffer)) > 0) {
+					os.write(buffer, 0, len);
+				}
+			}
+			_log.append(Messages.getString("Builder.success") + outfile.getPath());
+			return outfile;
+		} catch (IOException e) {
+			Util.delete(outfile);
+			_log.append(e.getMessage());
+			throw new BuilderException(e);
+		} catch (ExecException e) {
+			Util.delete(outfile);
+			String msg = e.getMessage(); 
+			if (msg != null && msg.indexOf("windres") != -1) {
+				if (e.getErrLine() != -1) {
+					_log.append(Messages.getString("Builder.line.has.errors",
+							String.valueOf(e.getErrLine())));
+					_log.append(rcb.getLine(e.getErrLine()));
+				} else {
+					_log.append(Messages.getString("Builder.generated.resource.file"));
+					_log.append(rcb.getContent());
+				}
+			}
+			throw new BuilderException(e);
+		} finally {
+			Util.close(is);
+			Util.close(os);
+			Util.delete(rc);
+			Util.delete(ro);
+		}
+	}
+}
+
+class Cmd {
+	private final List<String> _cmd = new ArrayList<String>();
+	private final File _basedir;
+	private final File _bindir;
+
+	public Cmd(File basedir) {
+		_basedir = basedir;
+		String path = System.getProperty("launch4j.bindir");
+
+		if (path == null) {
+			_bindir = new File(basedir, "bin");
+		} else {
+			File bindir = new File(path);
+			_bindir = bindir.isAbsolute() ? bindir : new File(basedir, path);
+		}
+	}
+
+	public Cmd add(String s) {
+		StringTokenizer st = new StringTokenizer(s);
+
+		while (st.hasMoreTokens()) {
+			_cmd.add(st.nextToken());
+		}
+
+		return this;
+	}
+
+	public Cmd addAbsFile(File file) {
+		_cmd.add(file.getPath());
+		return this;
+	}
+
+	public Cmd addFile(String pathname) {
+		_cmd.add(new File(_basedir, pathname).getPath());
+		return this;
+	}
+
+	public Cmd addExe(String pathname) {
+		if (Util.WINDOWS_OS) {
+			pathname += ".exe";
+		}
+
+		_cmd.add(new File(_bindir, pathname).getPath());
+		return this;
+	}
+
+	public Cmd addFiles(List<String> files) {
+		for (String f : files) {
+			addFile(f);
+		}
+
+		return this;
+	}
+
+	public void exec(Log log) throws ExecException {
+		String[] cmd = (String[]) _cmd.toArray(new String[_cmd.size()]);
+		Util.exec(cmd, log);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/BuilderException.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/BuilderException.java
new file mode 100644
index 0000000..76d814d
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/BuilderException.java
@@ -0,0 +1,52 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 13, 2005
+ */
+package net.sf.launch4j;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class BuilderException extends Exception {
+	public BuilderException() {}
+
+	public BuilderException(Throwable t) {
+		super(t);
+	}
+	
+	public BuilderException(String msg) {
+		super(msg);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/ExecException.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ExecException.java
new file mode 100644
index 0000000..059b2a8
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ExecException.java
@@ -0,0 +1,66 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 14, 2005
+ */
+package net.sf.launch4j;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class ExecException extends Exception {
+	private final int _errLine;
+
+	public ExecException(Throwable t, int errLine) {
+		super(t);
+		_errLine = errLine;
+	}
+
+	public ExecException(Throwable t) {
+		this(t, -1);
+	}
+
+	public ExecException(String msg, int errLine) {
+		super(msg);
+		_errLine = errLine;
+	}
+
+	public ExecException(String msg) {
+		this(msg, -1);
+	}
+
+	public int getErrLine() {
+		return _errLine;
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/FileChooserFilter.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/FileChooserFilter.java
new file mode 100644
index 0000000..e4d8d6f
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/FileChooserFilter.java
@@ -0,0 +1,76 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on 2004-01-15
+ */
+package net.sf.launch4j;
+
+import java.io.File;
+
+import javax.swing.filechooser.FileFilter;
+
+/**
+ * @author Copyright (C) 2004 Grzegorz Kowal
+ */
+public class FileChooserFilter extends FileFilter {
+	String _description;
+	String[] _extensions;
+
+	public FileChooserFilter(String description, String extension) {
+		_description = description;
+		_extensions = new String[] {extension};
+	}
+	
+	public FileChooserFilter(String description, String[] extensions) {
+		_description = description;
+		_extensions = extensions;
+	}
+
+	public boolean accept(File f) {
+		if (f.isDirectory()) {
+			return true;
+		}
+		String ext = Util.getExtension(f);
+		for (int i = 0; i < _extensions.length; i++) {
+			if (ext.toLowerCase().equals(_extensions[i].toLowerCase())) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	public String getDescription() {
+		return _description;
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/KanjiEscapeOutputStream.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/KanjiEscapeOutputStream.java
new file mode 100644
index 0000000..9f26726
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/KanjiEscapeOutputStream.java
@@ -0,0 +1,86 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2013 toshimm
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+ */
+package net.sf.launch4j;
+
+import java.io.OutputStream;
+import java.io.IOException;
+
+/**
+ * @author toshimm (2013)
+ * 
+ *         This class makes Japanese Kanji characters in MS932 charcode escaped
+ *         in octal form.
+ */
+public class KanjiEscapeOutputStream extends OutputStream {
+
+	protected OutputStream parent;
+
+	public KanjiEscapeOutputStream(OutputStream out) {
+		this.parent = out;
+	}
+
+	private final int MASK = 0x000000FF;
+	private boolean state = true;
+
+	public void write(int b) throws IOException {
+		b = b & MASK;
+
+		if (state) {
+			if (0x00 <= b && b <= 0x7f) {
+				this.parent.write(b);
+			} else {
+				this.octprint(b);
+				if ((0x81 <= b && b <= 0x9f) || (0xe0 <= b && b <= 0xfc)) {
+					this.state = false;
+				}
+			}
+		} else {
+			if ((0x40 <= b && b <= 0x7e) || (0x80 <= b && b <= 0xfc)) {
+				this.octprint(b);
+			} else if (0x00 <= b && b <= 0x7f) {
+				this.parent.write(b);
+			} else {
+				this.octprint(b);
+			}
+			this.state = true;
+		}
+	}
+
+	private void octprint(int b) throws IOException {
+		String oct = "\\" + String.format("%o", b & MASK);
+		for (int i = 0; i < oct.length(); ++i) {
+			int bb = oct.charAt(i);
+			this.parent.write(bb);
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/Log.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/Log.java
new file mode 100644
index 0000000..369befc
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/Log.java
@@ -0,0 +1,105 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 12, 2005
+ */
+package net.sf.launch4j;
+
+import javax.swing.JTextArea;
+import javax.swing.SwingUtilities;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public abstract class Log {
+	private static final Log _consoleLog = new ConsoleLog();
+	private static final Log _antLog = new AntLog();
+
+	public abstract void clear();
+	public abstract void append(String line);
+
+	public static Log getConsoleLog() {
+		return _consoleLog;
+	}
+	
+	public static Log getAntLog() {
+		return _antLog;
+	}
+
+	public static Log getSwingLog(JTextArea textArea) {
+		return new SwingLog(textArea);
+	}
+}
+
+class ConsoleLog extends Log {
+	public void clear() {
+		System.out.println("\n");
+	}
+
+	public void append(String line) {
+		System.out.println("launch4j: " + line);
+	}
+}
+
+class AntLog extends Log {
+	public void clear() {
+		System.out.println("\n");
+	}
+
+	public void append(String line) {
+		System.out.println(line);
+	}
+}
+
+class SwingLog extends Log {
+	private final JTextArea _textArea;
+
+	public SwingLog(JTextArea textArea) {
+		_textArea = textArea;
+	}
+
+	public void clear() {
+		SwingUtilities.invokeLater(new Runnable() {
+			public void run() {
+				_textArea.setText("");
+		}});
+	}
+
+	public void append(final String line) {
+		SwingUtilities.invokeLater(new Runnable() {
+			public void run() {
+				_textArea.append(line + "\n");
+		}});
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/Main.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/Main.java
new file mode 100644
index 0000000..1c1048c
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/Main.java
@@ -0,0 +1,94 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Apr 21, 2005
+ */
+package net.sf.launch4j;
+
+import java.io.File;
+import java.util.Properties;
+
+import net.sf.launch4j.config.ConfigPersister;
+import net.sf.launch4j.formimpl.MainFrame;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class Main {
+	private static String _name; 
+	private static String _description;
+
+	public static void main(String[] args) {
+		try {
+			Properties props = Util.getProperties();
+			setDescription(props);
+
+			if (args.length == 0) {
+				ConfigPersister.getInstance().createBlank();
+				MainFrame.createInstance();
+			} else if (args.length == 1 && !args[0].startsWith("-")) {
+				ConfigPersister.getInstance().load(new File(args[0]));
+				Builder b = new Builder(Log.getConsoleLog());
+				b.build();
+			} else {
+				System.out.println(_description
+						+ Messages.getString("Main.usage")
+						+ ": launch4j config.xml");
+			}
+		} catch (Exception e) {
+			Log.getConsoleLog().append(e.getMessage());
+		} 
+	}
+
+	public static String getName() {
+		return _name;
+	}
+
+	public static String getDescription() {
+		return _description;
+	}
+
+	private static void setDescription(Properties props) {
+		_name = "Launch4j " + props.getProperty("version"); 
+		_description = _name + 
+				" (http://launch4j.sourceforge.net/)\n" +
+				"Cross-platform Java application wrapper" +
+						" for creating Windows native executables.\n\n" +
+				"Copyright (C) 2004, 2015 Grzegorz Kowal\n\n" +
+				"Launch4j comes with ABSOLUTELY NO WARRANTY.\n" +
+				"This is free software, licensed under the BSD License.\n" +
+				"This product includes software developed by the Apache Software Foundation" +
+						" (http://www.apache.org/).";
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/Messages.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/Messages.java
new file mode 100644
index 0000000..687683d
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/Messages.java
@@ -0,0 +1,78 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+package net.sf.launch4j;
+
+import java.text.MessageFormat;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+public class Messages {
+	private static final String BUNDLE_NAME = "net.sf.launch4j.messages";
+
+	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
+			.getBundle(BUNDLE_NAME);
+	private static final MessageFormat FORMATTER = new MessageFormat("");
+
+	private Messages() {
+	}
+
+	public static String getString(String key) {
+		try {
+			return RESOURCE_BUNDLE.getString(key);
+		} catch (MissingResourceException e) {
+			return '!' + key + '!';
+		}
+	}
+	
+	public static String getString(String key, String arg0) {
+		return getString(key, new Object[] {arg0});
+	}
+
+	public static String getString(String key, String arg0, String arg1) {
+		return getString(key, new Object[] {arg0, arg1});
+	}
+
+	public static String getString(String key, String arg0, String arg1, String arg2) {
+		return getString(key, new Object[] {arg0, arg1, arg2});
+	}
+
+	public static String getString(String key, Object[] args) {
+		try {
+			FORMATTER.applyPattern(RESOURCE_BUNDLE.getString(key));
+			return FORMATTER.format(args);
+		} catch (MissingResourceException e) {
+			return '!' + key + '!';
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/RcBuilder.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/RcBuilder.java
new file mode 100644
index 0000000..ccd942d
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/RcBuilder.java
@@ -0,0 +1,408 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on 2005-04-24
+ */
+package net.sf.launch4j;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.util.List;
+
+import net.sf.launch4j.config.Config;
+import net.sf.launch4j.config.ConfigPersister;
+import net.sf.launch4j.config.Jre;
+import net.sf.launch4j.config.Msg;
+import net.sf.launch4j.config.Splash;
+import net.sf.launch4j.config.VersionInfo;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class RcBuilder {
+
+	// winnt.h
+	public static final int LANG_NEUTRAL = 0;
+	public static final int SUBLANG_NEUTRAL	= 0;
+	public static final int SUBLANG_DEFAULT	= 1;
+	public static final int SUBLANG_SYS_DEFAULT	= 2;
+
+	// MANIFEST
+	public static final int MANIFEST = 1;
+
+	// ICON
+	public static final int APP_ICON = 1;
+
+	// BITMAP
+	public static final int SPLASH_BITMAP = 1;
+
+	// RCDATA
+	public static final int JRE_PATH = 1;
+	public static final int JAVA_MIN_VER = 2;
+	public static final int JAVA_MAX_VER = 3;
+	public static final int SHOW_SPLASH = 4;
+	public static final int SPLASH_WAITS_FOR_WINDOW = 5;
+	public static final int SPLASH_TIMEOUT = 6;
+	public static final int SPLASH_TIMEOUT_ERR = 7;
+	public static final int CHDIR = 8;
+	public static final int ERR_TITLE = 10;
+	public static final int GUI_HEADER_STAYS_ALIVE = 11;
+	public static final int JVM_OPTIONS = 12;
+	public static final int CMD_LINE = 13;
+	public static final int JAR = 14;
+	public static final int MAIN_CLASS = 15;
+	public static final int CLASSPATH = 16;
+	public static final int WRAPPER = 17;
+	public static final int JDK_PREFERENCE = 18;
+	public static final int ENV_VARIABLES = 19;
+	public static final int PRIORITY_CLASS = 20;
+	public static final int	DOWNLOAD_URL = 	21;
+	public static final int SUPPORT_URL = 22;
+	public static final int MUTEX_NAME = 23;
+	public static final int INSTANCE_WINDOW_TITLE = 24;
+	public static final int INITIAL_HEAP_SIZE = 25;
+	public static final int INITIAL_HEAP_PERCENT = 26;
+	public static final int MAX_HEAP_SIZE = 27;
+	public static final int MAX_HEAP_PERCENT = 28;
+	public static final int BUNDLED_JRE_64_BIT = 29;
+	public static final int RUNTIME_BITS = 30;
+	public static final int RESTART_ON_CRASH = 31;
+	public static final int BUNDLED_JRE_AS_FALLBACK	= 32;
+
+	public static final int STARTUP_ERR = 101;
+	public static final int BUNDLED_JRE_ERR = 102;
+	public static final int JRE_VERSION_ERR = 103;
+	public static final int LAUNCHER_ERR = 104;
+	public static final int INSTANCE_ALREADY_EXISTS_MSG = 105;
+
+	private final StringBuffer _sb = new StringBuffer();
+
+	public String getContent() {
+		return _sb.toString();
+	}
+
+	public String getLine(int line) {
+		return _sb.toString().split("\n")[line - 1];
+	}
+
+	public File build(Config c) throws IOException {
+		_sb.append("LANGUAGE ");
+		_sb.append(LANG_NEUTRAL);
+		_sb.append(", ");
+		_sb.append(SUBLANG_DEFAULT);
+		_sb.append('\n');
+		addVersionInfo(c.getVersionInfo());
+		addJre(c.getJre());
+		addManifest(MANIFEST, c.getManifest());
+		addIcon(APP_ICON, c.getIcon());
+		addText(ERR_TITLE, c.getErrTitle());
+		addText(DOWNLOAD_URL, c.getDownloadUrl());
+		addText(SUPPORT_URL, c.getSupportUrl());
+		addText(CMD_LINE, c.getCmdLine());
+		addWindowsPath(CHDIR, c.getChdir());
+		addText(PRIORITY_CLASS, String.valueOf(c.getPriorityClass()));
+		addTrue(GUI_HEADER_STAYS_ALIVE, c.isStayAlive());
+		addTrue(RESTART_ON_CRASH, c.isRestartOnCrash());
+		addSplash(c.getSplash());
+		addMessages(c);
+
+		if (c.getSingleInstance() != null) {
+			addText(MUTEX_NAME, c.getSingleInstance().getMutexName());
+			addText(INSTANCE_WINDOW_TITLE, c.getSingleInstance().getWindowTitle());
+		}
+
+		if (c.getVariables() != null && !c.getVariables().isEmpty()) {
+			StringBuffer vars = new StringBuffer();
+			append(vars, c.getVariables(), "\t");
+			addText(ENV_VARIABLES, vars.toString());
+		}
+
+		// MAIN_CLASS / JAR
+		addTrue(WRAPPER, !c.isDontWrapJar());
+
+		if (c.getClassPath() != null) {
+			addText(MAIN_CLASS, c.getClassPath().getMainClass());
+			addWindowsPath(CLASSPATH, c.getClassPath().getPathsString());
+		}
+
+		if (c.isDontWrapJar() && c.getJar() != null) {
+			addWindowsPath(JAR, c.getJar().getPath());
+		}
+		
+		File file = Util.createTempFile("rc");
+
+		if ("MS932".equals(System.getProperty("file.encoding"))) {
+			writeKanjiResourceFile(file);
+		} else {
+			writeResourceFile(file);
+		}
+
+		return file;
+	}
+	
+	private void writeResourceFile(File file) throws IOException {
+		BufferedWriter w = null;
+
+		try {
+			w = new BufferedWriter(new FileWriter(file));
+			w.write(_sb.toString());
+		} finally {
+			Util.close(w);
+		}
+	}
+
+	/**
+	 * Handle Japanese encoding - by toshimm.
+	 */
+	private void writeKanjiResourceFile(File file) throws IOException {
+		FileOutputStream output = null;
+		KanjiEscapeOutputStream kanji = null;
+		OutputStreamWriter writer = null;
+		BufferedWriter w = null;
+
+		try {
+			output = new FileOutputStream(file);
+			kanji = new KanjiEscapeOutputStream(output);
+			writer = new OutputStreamWriter(kanji);
+			w = new BufferedWriter(writer);
+			w.write(_sb.toString());
+		} finally {
+			Util.close(w);
+			Util.close(writer);
+			Util.close(kanji);
+			Util.close(output);
+		}
+	}
+
+	private void addVersionInfo(VersionInfo v) {
+		if (v == null) {
+			return;
+		}
+
+		_sb.append("1 VERSIONINFO\n");
+		_sb.append("FILEVERSION ");
+		_sb.append(v.getFileVersion().replaceAll("\\.", ", "));
+		_sb.append("\nPRODUCTVERSION ");
+		_sb.append(v.getProductVersion().replaceAll("\\.", ", "));
+		_sb.append("\nFILEFLAGSMASK 0\n" +
+				"FILEOS 0x40000\n" +
+				"FILETYPE 1\n" +
+				"{\n" + 
+				" BLOCK \"StringFileInfo\"\n" +
+				" {\n" +
+				"  BLOCK \"040904E4\"\n" +	// English
+				"  {\n");
+
+		addVerBlockValue("CompanyName", v.getCompanyName());
+		addVerBlockValue("FileDescription", v.getFileDescription());
+		addVerBlockValue("FileVersion", v.getTxtFileVersion());
+		addVerBlockValue("InternalName", v.getInternalName());
+		addVerBlockValue("LegalCopyright", v.getCopyright());
+		addVerBlockValue("OriginalFilename", v.getOriginalFilename());
+		addVerBlockValue("ProductName", v.getProductName());
+		addVerBlockValue("ProductVersion", v.getTxtProductVersion());
+		_sb.append("  }\n }\nBLOCK \"VarFileInfo\"\n{\nVALUE \"Translation\", 0x0409, 0x04E4\n}\n}");     
+	}
+
+	private void addJre(Jre jre) {
+		addWindowsPath(JRE_PATH, jre.getPath());
+		addTrue(BUNDLED_JRE_64_BIT, jre.getBundledJre64Bit());
+		addTrue(BUNDLED_JRE_AS_FALLBACK, jre.getBundledJreAsFallback());
+		addText(JAVA_MIN_VER, jre.getMinVersion());
+		addText(JAVA_MAX_VER, jre.getMaxVersion());
+		addText(JDK_PREFERENCE, String.valueOf(jre.getJdkPreferenceIndex()));
+
+		addInteger(RUNTIME_BITS, jre.getRuntimeBitsIndex() + 1);
+		addInteger(INITIAL_HEAP_SIZE, jre.getInitialHeapSize());
+		addInteger(INITIAL_HEAP_PERCENT, jre.getInitialHeapPercent());
+		addInteger(MAX_HEAP_SIZE, jre.getMaxHeapSize());
+		addInteger(MAX_HEAP_PERCENT, jre.getMaxHeapPercent());
+
+		StringBuffer options = new StringBuffer();
+
+		if (jre.getOptions() != null && !jre.getOptions().isEmpty()) {
+			addSpace(options);
+			append(options, jre.getOptions(), " ");
+		}
+
+		addText(JVM_OPTIONS, options.toString());
+	}
+	
+	private void addSplash(Splash splash) {
+		if (splash == null) {
+			return;
+		}
+
+		addTrue(SHOW_SPLASH, true);
+		addTrue(SPLASH_WAITS_FOR_WINDOW, splash.getWaitForWindow());
+		addText(SPLASH_TIMEOUT, String.valueOf(splash.getTimeout()));
+		addTrue(SPLASH_TIMEOUT_ERR, splash.isTimeoutErr());
+		addBitmap(SPLASH_BITMAP, splash.getFile());
+	}
+	
+	private void addMessages(Config c) {
+		Msg msg = c.getMessages();
+
+		if (msg == null) {
+			msg = new Msg();
+		}
+
+		addText(STARTUP_ERR, msg.getStartupErr());
+		addText(BUNDLED_JRE_ERR, msg.getBundledJreErr());
+		addText(JRE_VERSION_ERR, msg.getJreVersionErr());
+		addText(LAUNCHER_ERR, msg.getLauncherErr());
+
+		if (c.getSingleInstance() != null) {
+			addText(INSTANCE_ALREADY_EXISTS_MSG, msg.getInstanceAlreadyExistsMsg());
+		}
+	}
+
+	private void append(StringBuffer sb, List<String> list, String separator) {
+		for (int i = 0; i < list.size(); i++) {
+			sb.append(list.get(i));
+
+			if (i < list.size() - 1) {
+				sb.append(separator);
+			}
+		}
+	}
+
+	private void addText(int id, String text) {
+		if (text == null || text.equals("")) {
+			return;
+		}
+
+		_sb.append(id);
+		_sb.append(" RCDATA BEGIN \"");
+		_sb.append(escape(text));
+		_sb.append("\\0\" END\n");
+	}
+
+	private void addTrue(int id, boolean value) {
+		if (value) {
+			addText(id, "true");
+		}
+	}
+
+	private void addInteger(int id, Integer value) {
+		if (value != null) {
+			addText(id, value.toString());
+		}
+	}
+
+	/**
+	 * Stores path in Windows format with '\' separators. 
+	 */
+	private void addWindowsPath(int id, String path) {
+		if (path == null || path.equals("")) {
+			return;
+		}
+
+		_sb.append(id);
+		_sb.append(" RCDATA BEGIN \"");
+		_sb.append(path.replaceAll("\\\\", "\\\\\\\\")
+				.replaceAll("/", "\\\\\\\\"));
+		_sb.append("\\0\" END\n");
+	}
+
+	private void addManifest(int id, File manifest) {
+		if (manifest == null || manifest.getPath().equals("")) {
+			return;
+		}
+
+		_sb.append(id);
+		_sb.append(" 24 \"");
+		_sb.append(getPath(Util.getAbsoluteFile(
+				ConfigPersister.getInstance().getConfigPath(), manifest)));
+		_sb.append("\"\n");
+	}
+
+	private void addIcon(int id, File icon) {
+		if (icon == null || icon.getPath().equals("")) {
+			return;
+		}
+
+		_sb.append(id);
+		_sb.append(" ICON DISCARDABLE \"");
+		_sb.append(getPath(Util.getAbsoluteFile(
+				ConfigPersister.getInstance().getConfigPath(), icon)));
+		_sb.append("\"\n");
+	}
+
+	private void addBitmap(int id, File bitmap) {
+		if (bitmap == null) {
+			return;
+		}
+
+		_sb.append(id);
+		_sb.append(" BITMAP \"");
+		_sb.append(getPath(Util.getAbsoluteFile(
+				ConfigPersister.getInstance().getConfigPath(), bitmap)));
+		_sb.append("\"\n");
+	}
+	
+	private String getPath(File f) {
+		return f.getPath().replaceAll("\\\\", "\\\\\\\\");
+	}
+	
+	private void addSpace(StringBuffer sb) {
+		int len = sb.length();
+
+		if (len-- > 0 && sb.charAt(len) != ' ') {
+			sb.append(' ');
+		}
+	}
+	
+	private void addVerBlockValue(String key, String value) {
+		_sb.append("   VALUE \"");
+		_sb.append(key);
+		_sb.append("\", \"");
+
+		if (value != null) {
+			_sb.append(escape(value));
+		}
+
+		_sb.append("\"\n");
+	}
+
+	private String escape(String text) {
+		return text.replace("\"", "\"\"")
+				.replace("\\", "\\\\")
+				.replace("\n", "\\r\\n");
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/Util.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/Util.java
new file mode 100644
index 0000000..b1006b8
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/Util.java
@@ -0,0 +1,220 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on 2005-04-24
+ */
+package net.sf.launch4j;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.Reader;
+import java.io.Writer;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Properties;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class Util {
+	public static final boolean WINDOWS_OS = System.getProperty("os.name")
+			.toLowerCase().startsWith("windows");
+	
+	private static final String Launch4jProperties = "launch4j.properties";
+
+	private Util() {}
+	
+	public static Properties getProperties() throws IOException {
+		Properties props = new Properties();
+		InputStream in = Main.class.getClassLoader().getResourceAsStream(Launch4jProperties);
+		props.load(in);
+		in.close();
+		return props;
+	}
+
+	public static File createTempFile(String suffix) throws IOException {
+		String tmpdir = System.getProperty("launch4j.tmpdir");
+		if (tmpdir != null) {
+			if (tmpdir.indexOf(' ') != -1) {
+				throw new IOException(Messages.getString("Util.tmpdir"));
+			}
+			return File.createTempFile("launch4j", suffix, new File(tmpdir));
+		} else {
+			return File.createTempFile("launch4j", suffix);
+		}
+	}
+
+	public static File getJarBasedir() {
+		try {
+			URI uri = new URI(Util.class.getClassLoader()
+					.getResource(Launch4jProperties)
+					.getFile());
+
+			String path = uri.getPath();
+
+			if (path.startsWith("/") && path.contains("!")) {
+				// jar file
+				String jarPath = path.substring(0, path.lastIndexOf('!'));
+				String basedir = jarPath.substring(0, jarPath.lastIndexOf('/') + 1);
+				return new File(basedir);
+			} else {
+				// class files - launch4j development
+				return new File(".");
+			}
+		} catch (URISyntaxException e) {
+			throw new RuntimeException(e);
+		}
+	}
+
+	public static File getAbsoluteFile(File basepath, File f) {
+		return f.isAbsolute() ? f : new File(basepath, f.getPath());
+	}
+
+	public static String getExtension(File f) {
+		String name = f.getName();
+		int x = name.lastIndexOf('.');
+		if (x != -1) {
+			return name.substring(x);
+		} else {
+			return "";
+		}
+	}
+
+	public static void exec(String[] cmd, Log log) throws ExecException {
+		BufferedReader is = null;
+		try {
+			if (WINDOWS_OS) {
+				for (int i = 0; i < cmd.length; i++) {
+					cmd[i] = cmd[i].replaceAll("/", "\\\\");
+				}
+			}
+			Process p = Runtime.getRuntime().exec(cmd);
+			is = new BufferedReader(new InputStreamReader(p.getErrorStream()));
+			String line;
+			int errLine = -1;
+			Pattern pattern = Pattern.compile(":\\d+:");
+			while ((line = is.readLine()) != null) {
+				log.append(line);
+				Matcher matcher = pattern.matcher(line);
+				if (matcher.find()) {
+					errLine = Integer.valueOf(
+							line.substring(matcher.start() + 1, matcher.end() - 1))
+							.intValue();
+					break;
+				}
+			}
+			is.close();
+			p.waitFor();
+			if (errLine != -1) {
+				StringBuffer sb = new StringBuffer(Messages.getString("Util.exec.failed"));
+				AppendCommandLine(sb, cmd);
+				throw new ExecException(sb.toString(), errLine);
+			}
+			if (p.exitValue() != 0) {
+				StringBuffer sb = new StringBuffer(Messages.getString("Util.exec.failed"));
+				sb.append(" (");
+				sb.append(p.exitValue());
+				sb.append(')');
+				AppendCommandLine(sb, cmd);
+				throw new ExecException(sb.toString());
+			}
+		} catch (IOException e) {
+			close(is);
+			throw new ExecException(e);
+		} catch (InterruptedException e) {
+			close(is);
+			throw new ExecException(e);
+		}
+	}
+	
+	private static void AppendCommandLine(StringBuffer sb, String[] cmd) {
+		sb.append(": ");
+		for (int i = 0; i < cmd.length; i++) {
+			sb.append(cmd[i]);
+			if (i < cmd.length - 1) {
+				sb.append(' ');
+			}
+		}
+	}
+
+	public static void close(final InputStream o) {
+		if (o != null) {
+			try {
+				o.close();
+			} catch (IOException e) {
+				System.err.println(e); // XXX log
+			}
+		}
+	}
+
+	public static void close(final OutputStream o) {
+		if (o != null) {
+			try {
+				o.close();
+			} catch (IOException e) {
+				System.err.println(e); // XXX log
+			}
+		}
+	}
+
+	public static void close(final Reader o) {
+		if (o != null) {
+			try {
+				o.close();
+			} catch (IOException e) {
+				System.err.println(e); // XXX log
+			}
+		}
+	}
+
+	public static void close(final Writer o) {
+		if (o != null) {
+			try {
+				o.close();
+			} catch (IOException e) {
+				System.err.println(e); // XXX log
+			}
+		}
+	}
+
+	public static boolean delete(File f) {
+		return (f != null) ? f.delete() : false;
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/AntClassPath.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/AntClassPath.java
new file mode 100644
index 0000000..171a930
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/AntClassPath.java
@@ -0,0 +1,63 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Jul 19, 2006
+ */
+package net.sf.launch4j.ant;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import net.sf.launch4j.config.ClassPath;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class AntClassPath extends ClassPath {
+	private final List<StringWrapper> wrappedPaths = new ArrayList<StringWrapper>();
+
+	public void setCp(String cp){
+		StringWrapper wrapper = new StringWrapper();
+		wrapper.addText(cp);
+		wrappedPaths.add(wrapper);
+	}
+	
+	public void addCp(StringWrapper cp) {
+		wrappedPaths.add(cp);
+	}
+
+	public void unwrap() {
+		setPaths(StringWrapper.unwrap(wrappedPaths));
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/AntConfig.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/AntConfig.java
new file mode 100644
index 0000000..ae4ed2f
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/AntConfig.java
@@ -0,0 +1,131 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 24, 2005
+ */
+package net.sf.launch4j.ant;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.tools.ant.BuildException;
+
+import net.sf.launch4j.config.Config;
+import net.sf.launch4j.config.Msg;
+import net.sf.launch4j.config.SingleInstance;
+import net.sf.launch4j.config.Splash;
+import net.sf.launch4j.config.VersionInfo;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class AntConfig extends Config {
+	private final List<StringWrapper> wrappedHeaderObjects = new ArrayList<StringWrapper>();
+	private final List<StringWrapper> wrappedLibs = new ArrayList<StringWrapper>();
+	private final List<StringWrapper> wrappedVariables = new ArrayList<StringWrapper>();
+
+	public void setJarPath(String path) {
+		setJar(new File(path));
+	}
+
+	public void addObj(StringWrapper obj) {
+		wrappedHeaderObjects.add(obj);
+	}
+
+	public void addLib(StringWrapper lib) {
+		wrappedLibs.add(lib);
+	}
+	
+	public void addVar(StringWrapper var) {
+		wrappedVariables.add(var);
+	}
+
+	// __________________________________________________________________________________
+
+	public void addSingleInstance(SingleInstance singleInstance) {
+		checkNull(getSingleInstance(), "singleInstance");
+		setSingleInstance(singleInstance);
+	}
+
+	public void addClassPath(AntClassPath classPath) {
+		checkNull(getClassPath(), "classPath");
+		setClassPath(classPath);
+	}
+
+	public void addJre(AntJre jre) {
+		checkNull(getJre(), "jre");
+		setJre(jre);
+	}
+
+	public void addSplash(Splash splash) {
+		checkNull(getSplash(), "splash");
+		setSplash(splash);
+	}
+
+	public void addVersionInfo(VersionInfo versionInfo) {
+		checkNull(getVersionInfo(), "versionInfo");
+		setVersionInfo(versionInfo);
+	}
+	
+	public void addMessages(Msg messages) {
+		checkNull(getMessages(), "messages");
+		setMessages(messages);
+	}
+
+	// __________________________________________________________________________________
+
+	public void unwrap() {
+		setHeaderObjects(StringWrapper.unwrap(wrappedHeaderObjects));
+		setLibs(StringWrapper.unwrap(wrappedLibs));
+		setVariables(StringWrapper.unwrap(wrappedVariables));
+
+		if (getClassPath() != null) {
+			((AntClassPath) getClassPath()).unwrap();
+		}
+
+		if (getJre() != null) {
+			((AntJre) getJre()).unwrap();
+		}
+	}
+
+	private void checkNull(Object o, String name) {
+		if (o != null) {
+			throw new BuildException(
+					Messages.getString("AntConfig.duplicate.element")
+					+ ": "
+					+ name);
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/AntJre.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/AntJre.java
new file mode 100644
index 0000000..ee30b77
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/AntJre.java
@@ -0,0 +1,69 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Jul 18, 2006
+ */
+package net.sf.launch4j.ant;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import net.sf.launch4j.config.Jre;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class AntJre extends Jre {
+	private final List<StringWrapper> wrappedOptions = new ArrayList<StringWrapper>();
+
+	public void addOpt(StringWrapper opt) {
+		wrappedOptions.add(opt);
+	}
+
+	public void unwrap() {
+		setOptions(StringWrapper.unwrap(wrappedOptions));
+	}
+
+	/**
+	 * For backwards compatibility.
+	 */
+	public void setDontUsePrivateJres(boolean dontUse) {
+		if (dontUse) {
+			setJdkPreference(JDK_PREFERENCE_JRE_ONLY);
+		}
+		else {
+			setJdkPreference(JDK_PREFERENCE_PREFER_JRE);
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/Launch4jTask.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/Launch4jTask.java
new file mode 100644
index 0000000..22234a1
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/Launch4jTask.java
@@ -0,0 +1,162 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 24, 2005
+ */
+package net.sf.launch4j.ant;
+
+import java.io.File;
+
+import net.sf.launch4j.Builder;
+import net.sf.launch4j.BuilderException;
+import net.sf.launch4j.Log;
+import net.sf.launch4j.config.Config;
+import net.sf.launch4j.config.ConfigPersister;
+import net.sf.launch4j.config.ConfigPersisterException;
+
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Task;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class Launch4jTask extends Task {
+	private File _configFile;
+	private AntConfig _config;
+
+	// System properties
+	private File tmpdir;		// launch4j.tmpdir
+	private File bindir;		// launch4j.bindir
+
+	// Override configFile settings
+	private File jar;
+	private File outfile;
+	private String fileVersion;
+	private String txtFileVersion;
+	private String productVersion;
+	private String txtProductVersion;
+
+	public void execute() throws BuildException {
+		try {
+			if (tmpdir != null) {
+				System.setProperty("launch4j.tmpdir", tmpdir.getPath());
+			}
+			if (bindir != null) {
+				System.setProperty("launch4j.bindir", bindir.getPath());
+			}
+			if (_configFile != null && _config != null) {
+				throw new BuildException(
+						Messages.getString("Launch4jTask.specify.config"));
+			} else if (_configFile != null) {
+				ConfigPersister.getInstance().load(_configFile);
+				Config c = ConfigPersister.getInstance().getConfig();
+				if (jar != null) {
+					c.setJar(jar);
+				}
+				if (outfile != null) {
+					c.setOutfile(outfile);
+				}
+				if (fileVersion != null) {
+					c.getVersionInfo().setFileVersion(fileVersion);
+				}
+				if (txtFileVersion != null) {
+					c.getVersionInfo().setTxtFileVersion(txtFileVersion);
+				}
+				if (productVersion != null) {
+					c.getVersionInfo().setProductVersion(productVersion);
+				}
+				if (txtProductVersion != null) {
+					c.getVersionInfo().setTxtProductVersion(txtProductVersion);
+				}
+			} else if (_config != null) {
+				_config.unwrap();
+				ConfigPersister.getInstance().setAntConfig(_config,
+						getProject().getBaseDir());
+			} else {
+				throw new BuildException(
+						Messages.getString("Launch4jTask.specify.config"));
+			}
+			final Builder b = new Builder(Log.getAntLog());
+			b.build();
+		} catch (ConfigPersisterException e) {
+			throw new BuildException(e);
+		} catch (BuilderException e) {
+			throw new BuildException(e);
+		}
+	}
+
+	public void setConfigFile(File configFile) {
+		_configFile = configFile;
+	}
+
+	public void addConfig(AntConfig config) {
+		_config = config;
+	}
+
+	public void setBindir(File bindir) {
+		this.bindir = bindir;
+	}
+
+	public void setTmpdir(File tmpdir) {
+		this.tmpdir = tmpdir;
+	}
+
+	public void setFileVersion(String fileVersion) {
+		this.fileVersion = fileVersion;
+	}
+
+	public void setJar(File jar) {
+		this.jar = jar;
+	}
+
+	public void setJarPath(String path) {
+		this.jar = new File(path);
+	}
+
+	public void setOutfile(File outfile) {
+		this.outfile = outfile;
+	}
+
+	public void setProductVersion(String productVersion) {
+		this.productVersion = productVersion;
+	}
+
+	public void setTxtFileVersion(String txtFileVersion) {
+		this.txtFileVersion = txtFileVersion;
+	}
+
+	public void setTxtProductVersion(String txtProductVersion) {
+		this.txtProductVersion = txtProductVersion;
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/Messages.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/Messages.java
new file mode 100644
index 0000000..7bd5262
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/Messages.java
@@ -0,0 +1,55 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+package net.sf.launch4j.ant;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+public class Messages {
+	private static final String BUNDLE_NAME = "net.sf.launch4j.ant.messages";
+
+	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
+			.getBundle(BUNDLE_NAME);
+
+	private Messages() {
+	}
+
+	public static String getString(String key) {
+		try {
+			return RESOURCE_BUNDLE.getString(key);
+		} catch (MissingResourceException e) {
+			return '!' + key + '!';
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/StringWrapper.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/StringWrapper.java
new file mode 100644
index 0000000..70ab715
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/StringWrapper.java
@@ -0,0 +1,69 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Jul 18, 2006
+ */
+package net.sf.launch4j.ant;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class StringWrapper {
+	private String text;
+
+	public static List<String> unwrap(List<StringWrapper> wrappers) {
+		if (wrappers.isEmpty()) {
+			return null;
+		}
+
+		List<String> strings = new ArrayList<String>(wrappers.size());
+
+		for (StringWrapper w : wrappers) {
+			strings.add(w.toString());
+		}
+
+		return strings;
+	}
+
+	public void addText(String text) {
+		this.text = text;
+	}
+
+	public String toString() {
+		return text;
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/messages.properties b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/messages.properties
new file mode 100644
index 0000000..b78a6f8
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/messages.properties
@@ -0,0 +1,35 @@
+#
+#	Launch4j (http://launch4j.sourceforge.net/)
+#	Cross-platform Java application wrapper for creating Windows native executables.
+#
+#	Copyright (c) 2004, 2015 Grzegorz Kowal
+#	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+#
+
+Launch4jTask.specify.config=Specify configFile or config
+AntConfig.duplicate.element=Duplicate element
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/messages_es.properties b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/messages_es.properties
new file mode 100644
index 0000000..a48d4a8
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/ant/messages_es.properties
@@ -0,0 +1,35 @@
+#
+#	Launch4j (http://launch4j.sourceforge.net/)
+#	Cross-platform Java application wrapper for creating Windows native executables.
+#
+#	Copyright (c) 2004, 2007 Grzegorz Kowal, Patricio Mart�nez Ros
+#	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+#
+
+Launch4jTask.specify.config=Specify configFile or config
+AntConfig.duplicate.element=Duplicate element
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/Binding.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/Binding.java
new file mode 100644
index 0000000..e4202dd
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/Binding.java
@@ -0,0 +1,62 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Apr 30, 2005
+ */
+package net.sf.launch4j.binding;
+
+import java.awt.Color;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public interface Binding {
+	/** Used to mark components with invalid data. */
+	public final static Color INVALID_COLOR = Color.PINK;
+
+	/** Java Bean property bound to a component */
+	public String getProperty();
+	/** Clear component, set it to the default value */ 
+	public void clear(IValidatable bean);
+	/** Java Bean property -> Component */
+	public void put(IValidatable bean);
+	/** Component -> Java Bean property */
+	public void get(IValidatable bean);
+	/** Mark component as valid */
+	public void markValid();
+	/** Mark component as invalid */
+	public void markInvalid();
+	/** Enable or disable the component */
+	public void setEnabled(boolean enabled);
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/BindingException.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/BindingException.java
new file mode 100644
index 0000000..868a1df
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/BindingException.java
@@ -0,0 +1,52 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Apr 30, 2005
+ */
+package net.sf.launch4j.binding;
+
+/**
+ * Signals a runtime error, a missing property in a Java Bean for example.
+ * 
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class BindingException extends RuntimeException {
+	public BindingException(Throwable t) {
+		super(t);
+	}
+	
+	public BindingException(String msg) {
+		super(msg);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/Bindings.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/Bindings.java
new file mode 100644
index 0000000..29ddb7f
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/Bindings.java
@@ -0,0 +1,333 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Apr 30, 2005
+ */
+package net.sf.launch4j.binding;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.swing.JComboBox;
+import javax.swing.JComponent;
+import javax.swing.JList;
+import javax.swing.JRadioButton;
+import javax.swing.JTextArea;
+import javax.swing.JToggleButton;
+import javax.swing.text.JTextComponent;
+
+import org.apache.commons.beanutils.PropertyUtils;
+
+/**
+ * Creates and handles bindings.
+ * 
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class Bindings implements PropertyChangeListener, ActionListener {
+	private final Map<String, Binding> _bindings = new HashMap<String, Binding>();
+	private final Map<String, Binding> _optComponents = new HashMap<String, Binding>();
+	private boolean _modified = false;
+
+	/**
+	 * Used to track component modifications.
+	 */
+	@Override
+	public void propertyChange(PropertyChangeEvent evt) {
+		String prop = evt.getPropertyName();
+		if ("AccessibleValue".equals(prop)
+				|| "AccessibleText".equals(prop)
+				|| ("AccessibleVisibleData".equals(prop)
+						&& evt.getSource().getClass().getName().contains("JList"))) {
+			_modified = true;
+		}
+	}
+	
+	@Override
+	public void actionPerformed(ActionEvent e) {
+		_modified = true;
+	}
+
+	/** 
+	 * Any of the components modified?
+	 */
+	public boolean isModified() {
+		return _modified;
+	}
+
+	public Binding getBinding(String property) {
+		return _bindings.get(property);
+	}
+
+	private void registerPropertyChangeListener(JComponent c) {
+		c.getAccessibleContext().addPropertyChangeListener(this);
+	}
+
+	private void registerPropertyChangeListener(JComponent[] components) {
+		for (JComponent c : components) {
+			c.getAccessibleContext().addPropertyChangeListener(this);
+		}
+	}
+
+	private boolean isPropertyNull(IValidatable bean, Binding b) {
+		try {
+			for (String property : _optComponents.keySet()) {
+				if (b.getProperty().startsWith(property)) {
+					return PropertyUtils.getProperty(bean, property) == null;
+				}
+			}
+
+			return false;
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+
+	/**
+	 * Enables or disables all components bound to properties that begin with given prefix.
+	 */
+	public void setComponentsEnabled(String prefix, boolean enabled) {
+		for (Binding b : _bindings.values()) {
+			if (b.getProperty().startsWith(prefix)) {
+				b.setEnabled(enabled);
+			}
+		}
+	}
+
+	/**
+	 * Clear all components, set them to their default values.
+	 * Clears the _modified flag.
+	 */
+	public void clear(IValidatable bean) {
+		for (Binding b : _optComponents.values()) {
+			b.clear(bean);
+		}
+
+		for (Binding b : _bindings.values()) {
+			b.clear(bean);
+		}
+
+		_modified = false;
+	}
+
+	/**
+	 * Copies data from the Java Bean to the UI components.
+	 * Clears the _modified flag.
+	 */
+	public void put(IValidatable bean) {
+		for (Binding b : _optComponents.values()) {
+			b.put(bean);
+		}
+
+		for (Binding b : _bindings.values()) {
+			if (isPropertyNull(bean, b)) {
+				b.clear(null);
+			} else {
+				b.put(bean);
+			}
+		}
+
+		_modified = false;
+	}
+
+	/**
+	 * Copies data from UI components to the Java Bean and checks it's class invariants.
+	 * Clears the _modified flag.
+	 * @throws InvariantViolationException
+	 * @throws BindingException
+	 */
+	public void get(IValidatable bean) {
+		try {
+			for (Binding b : _optComponents.values()) {
+				b.get(bean);
+			}
+
+			for (Binding b : _bindings.values()) {
+				if (!isPropertyNull(bean, b)) {
+					b.get(bean);
+				}
+			}
+
+			bean.checkInvariants();
+			
+			for (String property : _optComponents.keySet()) {
+				IValidatable component = (IValidatable) PropertyUtils.getProperty(bean,
+						property);
+
+				if (component != null) {
+					component.checkInvariants();
+				}
+			}
+
+			_modified = false;	// XXX
+		} catch (InvariantViolationException e) {
+			e.setBinding(getBinding(e.getProperty()));
+			throw e;
+		} catch (Exception e) {
+			throw new BindingException(e);
+		} 
+	}
+
+	private Bindings add(Binding b) {
+		if (_bindings.containsKey(b.getProperty())) {
+			throw new BindingException(Messages.getString("Bindings.duplicate.binding"));
+		}
+
+		_bindings.put(b.getProperty(), b);
+		return this;
+	}
+
+	/**
+	 * Add an optional (nullable) Java Bean component of type clazz.
+	 */
+	public Bindings addOptComponent(String property, Class<? extends IValidatable> clazz, JToggleButton c,
+			boolean enabledByDefault) {
+		Binding b = new OptComponentBinding(this, property, clazz, c, enabledByDefault);
+
+		if (_optComponents.containsKey(property)) {
+			throw new BindingException(Messages.getString("Bindings.duplicate.binding"));
+		}
+
+		_optComponents.put(property, b);
+		return this;
+	}
+
+	/**
+	 * Add an optional (nullable) Java Bean component of type clazz.
+	 */
+	public Bindings addOptComponent(String property, Class<? extends IValidatable> clazz, JToggleButton c) {
+		return addOptComponent(property, clazz, c, false);
+	}
+
+	/**
+	 * Handles JEditorPane, JTextArea, JTextField
+	 */
+	public Bindings add(String property, JTextComponent c, String defaultValue) {
+		registerPropertyChangeListener(c);
+		return add(new JTextComponentBinding(property, c, defaultValue));
+	}
+
+	/**
+	 * Handles JEditorPane, JTextArea, JTextField
+	 */
+	public Bindings add(String property, JTextComponent c) {
+		registerPropertyChangeListener(c);
+		return add(new JTextComponentBinding(property, c, ""));
+	}
+
+	/**
+	 * Handles JToggleButton, JCheckBox 
+	 */
+	public Bindings add(String property, JToggleButton c, boolean defaultValue) {
+		registerPropertyChangeListener(c);
+		return add(new JToggleButtonBinding(property, c, defaultValue));
+	}
+
+	/**
+	 * Handles JToggleButton, JCheckBox
+	 */
+	public Bindings add(String property, JToggleButton c) {
+		registerPropertyChangeListener(c);
+		return add(new JToggleButtonBinding(property, c, false));
+	}
+
+	/**
+	 * Handles JRadioButton
+	 */
+	public Bindings add(String property, JRadioButton[] cs, int defaultValue) {
+		registerPropertyChangeListener(cs);
+		return add(new JRadioButtonBinding(property, cs, defaultValue));
+	}
+	
+	/**
+	 * Handles JRadioButton
+	 */
+	public Bindings add(String property, JRadioButton[] cs) {
+		registerPropertyChangeListener(cs);
+		return add(new JRadioButtonBinding(property, cs, 0));
+	}
+
+	/**
+	 * Handles JTextArea
+	 */
+	public Bindings add(String property, JTextArea textArea, String defaultValue) {
+		registerPropertyChangeListener(textArea);
+		return add(new JTextComponentBinding(property, textArea, defaultValue));
+	}
+
+	/**
+	 * Handles JTextArea lists
+	 */
+	public Bindings add(String property, JTextArea textArea) {
+		registerPropertyChangeListener(textArea);
+		return add(new JTextAreaBinding(property, textArea));
+	}
+
+	/**
+	 * Handles Optional JTextArea lists
+	 */
+	public Bindings add(String property, String stateProperty, 
+			JToggleButton button, JTextArea textArea) {
+		registerPropertyChangeListener(button);
+		registerPropertyChangeListener(textArea);
+		return add(new OptJTextAreaBinding(property, stateProperty, button, textArea));
+	}
+
+	/**
+	 * Handles JList
+	 */
+	public Bindings add(String property, JList list) {
+		registerPropertyChangeListener(list);
+		return add(new JListBinding(property, list));
+	}
+
+	/**
+	 * Handles JComboBox
+	 */
+	public Bindings add(String property, JComboBox combo, int defaultValue) {
+		combo.addActionListener(this);
+		return add(new JComboBoxBinding(property, combo, defaultValue));
+	}
+
+	/**
+	 * Handles JComboBox
+	 */
+	public Bindings add(String property, JComboBox combo) {
+		combo.addActionListener(this);
+		return add(new JComboBoxBinding(property, combo, 0));
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/IValidatable.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/IValidatable.java
new file mode 100644
index 0000000..4865967
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/IValidatable.java
@@ -0,0 +1,44 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on 2004-01-30
+ */
+package net.sf.launch4j.binding;
+
+/**
+ * @author Copyright (C) 2004 Grzegorz Kowal
+ */
+public interface IValidatable {
+	public void checkInvariants();
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/InvariantViolationException.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/InvariantViolationException.java
new file mode 100644
index 0000000..67db27b
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/InvariantViolationException.java
@@ -0,0 +1,67 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Jun 23, 2003
+ */
+package net.sf.launch4j.binding;
+
+/**
+ * @author Copyright (C) 2003 Grzegorz Kowal
+ */
+public class InvariantViolationException extends RuntimeException {
+	private final String _property;
+	private Binding _binding;
+
+	public InvariantViolationException(String msg) {
+		super(msg);
+		_property = null;
+	}
+
+	public InvariantViolationException(String property, String msg) {
+		super(msg);
+		_property = property;
+	}
+	
+	public String getProperty() {
+		return _property;
+	}
+	
+	public Binding getBinding() {
+		return _binding;
+	}
+
+	public void setBinding(Binding binding) {
+		_binding = binding;
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JComboBoxBinding.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JComboBoxBinding.java
new file mode 100644
index 0000000..a3f611e
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JComboBoxBinding.java
@@ -0,0 +1,119 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2007 Ian Roberts
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 10, 2005
+ */
+package net.sf.launch4j.binding;
+
+import java.awt.Color;
+
+import javax.swing.JComboBox;
+
+import org.apache.commons.beanutils.PropertyUtils;
+
+/**
+ * @author Copyright (C) 2007 Ian Roberts
+ */
+public class JComboBoxBinding implements Binding {
+	private final String _property;
+	private final JComboBox _combo;
+	private final int _defaultValue;
+	private final Color _validColor;
+
+	public JComboBoxBinding(String property, JComboBox combo, int defaultValue) {
+		if (property == null || combo == null) {
+			throw new NullPointerException();
+		}
+		if (property.equals("")
+				|| combo.getItemCount() == 0
+				|| defaultValue < 0 || defaultValue >= combo.getItemCount()) {
+			throw new IllegalArgumentException();
+		}
+		_property = property;
+		_combo = combo;
+		_defaultValue = defaultValue;
+		_validColor = combo.getBackground();
+	}
+
+	public String getProperty() {
+		return _property;
+	}
+
+	public void clear(IValidatable bean) {
+		select(_defaultValue);
+	}
+
+	public void put(IValidatable bean) {
+		try {
+			Integer i = (Integer) PropertyUtils.getProperty(bean, _property);
+			if (i == null) {
+				throw new BindingException(
+						Messages.getString("JComboBoxBinding.property.null"));
+			}
+			select(i.intValue());
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+
+	public void get(IValidatable bean) {
+		try {
+			PropertyUtils.setProperty(bean, _property, new Integer(_combo.getSelectedIndex()));
+			return;
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+
+	private void select(int index) {
+		if (index < 0 || index >= _combo.getItemCount()) {
+			throw new BindingException(
+					Messages.getString("JComboBoxBinding.index.out.of.bounds"));
+		}
+		_combo.setSelectedIndex(index);
+	}
+
+	public void markValid() {
+		_combo.setBackground(_validColor);
+		_combo.requestFocusInWindow();
+	}
+
+	public void markInvalid() {
+		_combo.setBackground(Binding.INVALID_COLOR);
+	}
+	
+	public void setEnabled(boolean enabled) {
+		_combo.setEnabled(enabled);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JListBinding.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JListBinding.java
new file mode 100644
index 0000000..060f89f
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JListBinding.java
@@ -0,0 +1,121 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 1, 2006
+ */
+package net.sf.launch4j.binding;
+
+import java.awt.Color;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.swing.DefaultListModel;
+import javax.swing.JList;
+
+import org.apache.commons.beanutils.PropertyUtils;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class JListBinding implements Binding {
+	private final String _property;
+	private final JList _list;
+	private final Color _validColor;
+
+	public JListBinding(String property, JList list) {
+		if (property == null || list == null) {
+			throw new NullPointerException();
+		}
+		if (property.equals("")) {
+			throw new IllegalArgumentException();
+		}
+		_property = property;
+		_list = list;
+		_validColor = _list.getBackground();
+	}
+
+	public String getProperty() {
+		return _property;
+	}
+
+	public void clear(IValidatable bean) {
+		_list.setModel(new DefaultListModel());
+	}
+
+	public void put(IValidatable bean) {
+		try {
+			DefaultListModel model = new DefaultListModel();
+			List<?> list = (List<?>) PropertyUtils.getProperty(bean, _property);
+
+			if (list != null) {
+				for (Object o : list) {
+					model.addElement(o);
+				}
+			}
+
+			_list.setModel(model);
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+
+	public void get(IValidatable bean) {
+		try {
+			DefaultListModel model = (DefaultListModel) _list.getModel();
+			final int size = model.getSize();
+			List<Object> list = new ArrayList<Object>(size);
+
+			for (int i = 0; i < size; i++) {
+				list.add(model.get(i));
+			}
+
+			PropertyUtils.setProperty(bean, _property, list);
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+	
+	public void markValid() {
+		_list.setBackground(_validColor);
+		_list.requestFocusInWindow();
+	}
+
+	public void markInvalid() {
+		_list.setBackground(Binding.INVALID_COLOR);
+	}
+	
+	public void setEnabled(boolean enabled) {
+		_list.setEnabled(enabled);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JRadioButtonBinding.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JRadioButtonBinding.java
new file mode 100644
index 0000000..345f802
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JRadioButtonBinding.java
@@ -0,0 +1,146 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 10, 2005
+ */
+package net.sf.launch4j.binding;
+
+import java.awt.Color;
+
+import javax.swing.JRadioButton;
+
+import org.apache.commons.beanutils.PropertyUtils;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class JRadioButtonBinding implements Binding {
+	private final String _property;
+	private final JRadioButton[] _buttons;
+	private final int _defaultValue;
+	private final Color _validColor;
+
+	public JRadioButtonBinding(String property, JRadioButton[] buttons, int defaultValue) {
+		if (property == null || buttons == null) {
+			throw new NullPointerException();
+		}
+		for (int i = 0; i < buttons.length; i++) {
+			if (buttons[i] == null) {
+				throw new NullPointerException();
+			}
+		}
+		if (property.equals("")
+				|| buttons.length == 0
+				|| defaultValue < 0 || defaultValue >= buttons.length) {
+			throw new IllegalArgumentException();
+		}
+		_property = property;
+		_buttons = buttons;
+		_defaultValue = defaultValue;
+		_validColor = buttons[0].getBackground();
+	}
+
+	public String getProperty() {
+		return _property;
+	}
+
+	public void clear(IValidatable bean) {
+		select(_defaultValue);
+	}
+
+	public void put(IValidatable bean) {
+		try {
+			Integer i = (Integer) PropertyUtils.getProperty(bean, _property);
+			if (i == null) {
+				throw new BindingException(
+						Messages.getString("JRadioButtonBinding.property.null"));
+			}
+			select(i.intValue());
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+
+	public void get(IValidatable bean) {
+		try {
+			for (int i = 0; i < _buttons.length; i++) {
+				if (_buttons[i].isSelected()) {
+					PropertyUtils.setProperty(bean, _property, new Integer(i));
+					return;
+				}
+			}
+			throw new BindingException(
+					Messages.getString("JRadioButtonBinding.nothing.selected"));
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+
+	private void select(int index) {
+		if (index < 0 || index >= _buttons.length) {
+			throw new BindingException(
+					Messages.getString("JRadioButtonBinding.index.out.of.bounds"));
+		}
+		_buttons[index].setSelected(true);
+	}
+
+	public void markValid() {
+		for (int i = 0; i < _buttons.length; i++) {
+			if (_buttons[i].isSelected()) {
+				_buttons[i].setBackground(_validColor);
+				_buttons[i].requestFocusInWindow();
+				return;
+			}
+		}
+		throw new BindingException(
+				Messages.getString("JRadioButtonBinding.nothing.selected"));
+	}
+
+	public void markInvalid() {
+		for (int i = 0; i < _buttons.length; i++) {
+			if (_buttons[i].isSelected()) {
+				_buttons[i].setBackground(Binding.INVALID_COLOR);
+				return;
+			}
+		}
+		throw new BindingException(
+				Messages.getString("JRadioButtonBinding.nothing.selected"));
+	}
+	
+	public void setEnabled(boolean enabled) {
+		for (int i = 0; i < _buttons.length; i++) {
+			_buttons[i].setEnabled(enabled);
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JTextAreaBinding.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JTextAreaBinding.java
new file mode 100644
index 0000000..e018797
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JTextAreaBinding.java
@@ -0,0 +1,128 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Jun 14, 2006
+ */
+package net.sf.launch4j.binding;
+
+import java.awt.Color;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.swing.JTextArea;
+
+import org.apache.commons.beanutils.PropertyUtils;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class JTextAreaBinding implements Binding {
+	private final String _property;
+	private final JTextArea _textArea;
+	private final Color _validColor;
+
+	public JTextAreaBinding(String property, JTextArea textArea) {
+		if (property == null || textArea == null) {
+			throw new NullPointerException();
+		}
+		if (property.equals("")) {
+			throw new IllegalArgumentException();
+		}
+		_property = property;
+		_textArea = textArea;
+		_validColor = _textArea.getBackground();
+	}
+
+	public String getProperty() {
+		return _property;
+	}
+
+	public void clear(IValidatable bean) {
+		put(bean);
+	}
+
+	public void put(IValidatable bean) {
+		try {
+			List<?> list = (List<?>) PropertyUtils.getProperty(bean, _property);
+			StringBuffer sb = new StringBuffer();
+
+			if (list != null) {
+				for (int i = 0; i < list.size(); i++) {
+					sb.append(list.get(i));
+					if (i < list.size() - 1) {
+						sb.append("\n");
+					}
+				}
+			}
+
+			_textArea.setText(sb.toString());
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+
+	public void get(IValidatable bean) {
+		try {
+			String text = _textArea.getText();
+
+			if (!text.equals("")) {
+				String[] items = text.split("\n");
+				List<Object> list = new ArrayList<Object>();
+
+				for (int i = 0; i < items.length; i++) {
+					list.add(items[i]);
+				}
+
+				PropertyUtils.setProperty(bean, _property, list);
+			} else {
+				PropertyUtils.setProperty(bean, _property, null);
+			}
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+
+	public void markValid() {
+		_textArea.setBackground(_validColor);
+		_textArea.requestFocusInWindow();
+	}
+
+	public void markInvalid() {
+		_textArea.setBackground(Binding.INVALID_COLOR);
+	}
+	
+	public void setEnabled(boolean enabled) {
+		_textArea.setEnabled(enabled);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JTextComponentBinding.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JTextComponentBinding.java
new file mode 100644
index 0000000..0232b78
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JTextComponentBinding.java
@@ -0,0 +1,108 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Apr 30, 2005
+ */
+package net.sf.launch4j.binding;
+
+import java.awt.Color;
+
+import javax.swing.text.JTextComponent;
+
+import org.apache.commons.beanutils.BeanUtils;
+
+/**
+ * Handles JEditorPane, JTextArea, JTextField
+ * 
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class JTextComponentBinding implements Binding {
+	private final String _property;
+	private final JTextComponent _textComponent;
+	private final String _defaultValue;
+	private final Color _validColor;
+
+	public JTextComponentBinding(String property, JTextComponent textComponent,
+			String defaultValue) {
+		if (property == null || textComponent == null || defaultValue == null) {
+			throw new NullPointerException();
+		}
+		if (property.equals("")) {
+			throw new IllegalArgumentException();
+		}
+		_property = property;
+		_textComponent = textComponent;
+		_defaultValue = defaultValue;
+		_validColor = _textComponent.getBackground();
+	}
+
+	public String getProperty() {
+		return _property;
+	}
+
+	public void clear(IValidatable bean) {
+		_textComponent.setText(_defaultValue);
+	}
+
+	public void put(IValidatable bean) {
+		try {
+			String s = BeanUtils.getProperty(bean, _property);
+			// XXX displays zeros as blank
+			_textComponent.setText(s != null && !s.equals("0") ? s : "");
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+
+	public void get(IValidatable bean) {
+		try {
+			BeanUtils.setProperty(bean, _property, _textComponent.getText());
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+	
+	public void markValid() {
+		_textComponent.setBackground(_validColor);
+		_textComponent.requestFocusInWindow();
+	}
+
+	public void markInvalid() {
+		_textComponent.setBackground(Binding.INVALID_COLOR);
+	}
+	
+	public void setEnabled(boolean enabled) {
+		_textComponent.setEnabled(enabled);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JToggleButtonBinding.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JToggleButtonBinding.java
new file mode 100644
index 0000000..9410cfc
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/JToggleButtonBinding.java
@@ -0,0 +1,108 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Apr 30, 2005
+ */
+package net.sf.launch4j.binding;
+
+import java.awt.Color;
+
+import javax.swing.JToggleButton;
+
+import org.apache.commons.beanutils.PropertyUtils;
+
+/**
+ * Handles JToggleButton, JCheckBox 
+ *
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class JToggleButtonBinding implements Binding {
+	private final String _property;
+	private final JToggleButton _button;
+	private final boolean _defaultValue;
+	private final Color _validColor;
+
+	public JToggleButtonBinding(String property, JToggleButton button,
+			boolean defaultValue) {
+		if (property == null || button == null) {
+			throw new NullPointerException();
+		}
+		if (property.equals("")) {
+			throw new IllegalArgumentException();
+		}
+		_property = property;
+		_button = button;
+		_defaultValue = defaultValue;
+		_validColor = _button.getBackground();
+	}
+
+	public String getProperty() {
+		return _property;
+	}
+
+	public void clear(IValidatable bean) {
+		_button.setSelected(_defaultValue);
+	}
+
+	public void put(IValidatable bean) {
+		try {
+			Boolean b = (Boolean) PropertyUtils.getProperty(bean, _property);
+			_button.setSelected(b != null && b.booleanValue());
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+
+	public void get(IValidatable bean) {
+		try {
+			PropertyUtils.setProperty(bean, _property,
+					Boolean.valueOf(_button.isSelected()));
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+	
+	public void markValid() {
+		_button.setBackground(_validColor);
+		_button.requestFocusInWindow();
+	}
+
+	public void markInvalid() {
+		_button.setBackground(Binding.INVALID_COLOR);
+	}
+	
+	public void setEnabled(boolean enabled) {
+		_button.setEnabled(enabled);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/Messages.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/Messages.java
new file mode 100644
index 0000000..7bd0aa4
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/Messages.java
@@ -0,0 +1,78 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+package net.sf.launch4j.binding;
+
+import java.text.MessageFormat;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+public class Messages {
+	private static final String BUNDLE_NAME = "net.sf.launch4j.binding.messages";
+
+	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
+			.getBundle(BUNDLE_NAME);
+	private static final MessageFormat FORMATTER = new MessageFormat("");
+
+	private Messages() {
+	}
+
+	public static String getString(String key) {
+		try {
+			return RESOURCE_BUNDLE.getString(key);
+		} catch (MissingResourceException e) {
+			return '!' + key + '!';
+		}
+	}
+	
+	public static String getString(String key, String arg0) {
+		return getString(key, new Object[] {arg0});
+	}
+
+	public static String getString(String key, String arg0, String arg1) {
+		return getString(key, new Object[] {arg0, arg1});
+	}
+
+	public static String getString(String key, String arg0, String arg1, String arg2) {
+		return getString(key, new Object[] {arg0, arg1, arg2});
+	}
+
+	public static String getString(String key, Object[] args) {
+		try {
+			FORMATTER.applyPattern(RESOURCE_BUNDLE.getString(key));
+			return FORMATTER.format(args);
+		} catch (MissingResourceException e) {
+			return '!' + key + '!';
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/OptComponentBinding.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/OptComponentBinding.java
new file mode 100644
index 0000000..8fef9a1
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/OptComponentBinding.java
@@ -0,0 +1,122 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 11, 2005
+ */
+package net.sf.launch4j.binding;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Arrays;
+
+import javax.swing.JToggleButton;
+
+import org.apache.commons.beanutils.PropertyUtils;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class OptComponentBinding implements Binding, ActionListener {
+	private final Bindings _bindings;
+	private final String _property;
+	private final Class<? extends IValidatable> _clazz;
+	private final JToggleButton _button;
+	private final boolean _enabledByDefault;
+
+	public OptComponentBinding(Bindings bindings, String property, Class<? extends IValidatable> clazz,
+								JToggleButton button, boolean enabledByDefault) {
+		if (property == null || clazz == null || button == null) {
+			throw new NullPointerException();
+		}
+
+		if (property.equals("")) {
+			throw new IllegalArgumentException();
+		}
+
+		if (!Arrays.asList(clazz.getInterfaces()).contains(IValidatable.class)) {
+			throw new IllegalArgumentException(
+					Messages.getString("OptComponentBinding.must.implement")
+					+ IValidatable.class);
+		}
+
+		_bindings = bindings;
+		_property = property;
+		_clazz = clazz;
+		_button = button;
+		_button.addActionListener(this);
+		_enabledByDefault = enabledByDefault;
+	}
+
+	public String getProperty() {
+		return _property;
+	}
+
+	public void clear(IValidatable bean) {
+		_button.setSelected(_enabledByDefault);
+		updateComponents();
+	}
+
+	public void put(IValidatable bean) {
+		try {
+			Object component = PropertyUtils.getProperty(bean, _property);
+			_button.setSelected(component != null);
+			updateComponents();
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+
+	public void get(IValidatable bean) {
+		try {
+			PropertyUtils.setProperty(bean, _property, _button.isSelected()
+					? _clazz.newInstance() : null);
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+
+	public void markValid() {}
+
+	public void markInvalid() {}
+
+	public void setEnabled(boolean enabled) {} // XXX implement?
+
+	public void actionPerformed(ActionEvent e) {
+		updateComponents();
+	}
+	
+	private void updateComponents() {
+		_bindings.setComponentsEnabled(_property, _button.isSelected());
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/OptJTextAreaBinding.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/OptJTextAreaBinding.java
new file mode 100644
index 0000000..1fd2709
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/OptJTextAreaBinding.java
@@ -0,0 +1,146 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Sep 3, 2005
+ */
+package net.sf.launch4j.binding;
+
+import java.awt.Color;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.swing.JTextArea;
+import javax.swing.JToggleButton;
+
+import org.apache.commons.beanutils.BeanUtils;
+import org.apache.commons.beanutils.PropertyUtils;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class OptJTextAreaBinding implements Binding, ActionListener {
+	private final String _property;
+	private final String _stateProperty;
+	private final JToggleButton _button;
+	private final JTextArea _textArea;
+	private final Color _validColor;
+
+	public OptJTextAreaBinding(String property, String stateProperty, 
+			JToggleButton button, JTextArea textArea) {
+		if (property == null || button == null || textArea == null) {
+			throw new NullPointerException();
+		}
+		if (property.equals("")) {
+			throw new IllegalArgumentException();
+		}
+		_property = property;
+		_stateProperty = stateProperty;
+		_button = button;
+		_textArea = textArea;
+		_validColor = _textArea.getBackground();
+		button.addActionListener(this);
+	}
+
+	public String getProperty() {
+		return _property;
+	}
+
+	public void clear(IValidatable bean) {
+		put(bean);
+	}
+
+	public void put(IValidatable bean) {
+		try {
+			boolean selected = "true".equals(BeanUtils.getProperty(bean,
+					_stateProperty));
+			_button.setSelected(selected);
+			_textArea.setEnabled(selected);
+			List<?> list = (List<?>) PropertyUtils.getProperty(bean, _property);
+			StringBuffer sb = new StringBuffer();
+
+			if (list != null) {
+				for (int i = 0; i < list.size(); i++) {
+					sb.append(list.get(i));
+					if (i < list.size() - 1) {
+						sb.append("\n");
+					}
+				}
+			}
+
+			_textArea.setText(sb.toString());
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+
+	public void get(IValidatable bean) {
+		try {
+			String text = _textArea.getText();
+
+			if (_button.isSelected() && !text.equals("")) {
+				String[] items = text.split("\n");
+				List<Object> list = new ArrayList<Object>();
+
+				for (String s : items) {
+					list.add(s);
+				}
+
+				PropertyUtils.setProperty(bean, _property, list);
+			} else {
+				PropertyUtils.setProperty(bean, _property, null);
+			}
+		} catch (Exception e) {
+			throw new BindingException(e);
+		}
+	}
+
+	public void markValid() {
+		_textArea.setBackground(_validColor);
+		_textArea.requestFocusInWindow();
+	}
+
+	public void markInvalid() {
+		_textArea.setBackground(Binding.INVALID_COLOR);
+	}
+	
+	public void setEnabled(boolean enabled) {
+		_textArea.setEnabled(enabled);
+	}
+
+	public void actionPerformed(ActionEvent e) {
+		_textArea.setEnabled(_button.isSelected());
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/Validator.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/Validator.java
new file mode 100644
index 0000000..fb2484a
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/Validator.java
@@ -0,0 +1,252 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on 2004-01-30
+ */
+package net.sf.launch4j.binding;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.List;
+
+import net.sf.launch4j.Util;
+import net.sf.launch4j.config.ConfigPersister;
+
+/**
+ * @author Copyright (C) 2004 Grzegorz Kowal
+ */
+public class Validator {
+	public static final String ALPHANUMERIC_PATTERN = "[\\w]*?";
+	public static final String ALPHA_PATTERN = "[\\w&&\\D]*?";
+	public static final String NUMERIC_PATTERN = "[\\d]*?";
+	public static final String PATH_PATTERN = "[\\w|[ .,:\\-/\\\\]]*?";
+
+	public static final int MAX_STR = 128;
+	public static final int MAX_PATH = 260;
+	public static final int MAX_BIG_STR = 8192;	// or 16384;
+	public static final int MAX_ARGS = 32767 - 2048;
+
+	private Validator() {}
+
+	public static boolean isEmpty(String s) {
+		return s == null || s.equals("");
+	}
+
+	public static void checkNotNull(Object o, String property, String name) {
+		if (o == null) {
+			signalViolation(property,
+					Messages.getString("Validator.empty.field", name));
+		}
+	}
+
+	public static void checkString(String s, int maxLength, String property,
+			String name) {
+		if (s == null || s.length() == 0) {
+			signalViolation(property,
+					Messages.getString("Validator.empty.field", name));
+		}
+		if (s.length() > maxLength) {
+			signalLengthViolation(property, name, maxLength);
+		}
+	}
+
+	public static void checkOptStrings(List<String> strings, int maxLength, int totalMaxLength,
+			String property, String name) {
+		if (strings == null) {
+			return;
+		}
+
+		int totalLength = 0;
+
+		for (String s : strings) {
+			checkString(s, maxLength, property, name);
+			totalLength += s.length();
+
+			if (totalLength > totalMaxLength) {
+				signalLengthViolation(property, name, totalMaxLength);
+			}
+		}
+	}
+
+	public static void checkString(String s, int maxLength, String pattern,
+			String property, String name) {
+		checkString(s, maxLength, property, name);
+
+		if (!s.matches(pattern)) {
+			signalViolation(property,
+					Messages.getString("Validator.invalid.data", name));
+		}
+	}
+
+	public static void checkOptStrings(List<String> strings, int maxLength, int totalMaxLength,
+			String pattern, String property, String name, String msg) {
+		if (strings == null) {
+			return;
+		}
+
+		int totalLength = 0;
+
+		for (String s : strings) {
+			checkString(s, maxLength, property, name);
+
+			if (!s.matches(pattern)) {
+				signalViolation(property, msg != null
+						? msg 
+						: Messages.getString("Validator.invalid.data", name));
+			}
+			
+			totalLength += s.length();
+			
+			if (totalLength > totalMaxLength) {
+				signalLengthViolation(property, name, totalMaxLength);
+			}
+		}
+	}
+
+	public static void checkOptString(String s, int maxLength, String property,
+			String name) {
+		if (s == null || s.length() == 0) {
+			return;
+		}
+
+		if (s.length() > maxLength) {
+			signalLengthViolation(property, name, maxLength);
+		}
+	}
+
+	public static void checkOptString(String s, int maxLength, String pattern,
+			String property, String name) {
+		if (s == null || s.length() == 0) {
+			return;
+		}
+
+		if (s.length() > maxLength) {
+			signalLengthViolation(property, name, maxLength);
+		}
+
+		if (!s.matches(pattern)) {
+			signalViolation(property,
+					Messages.getString("Validator.invalid.data", name));
+		}
+	}
+
+	public static void checkRange(int value, int min, int max,
+			String property, String name) {
+		if (value < min || value > max) {
+			signalViolation(property,
+					Messages.getString("Validator.must.be.in.range", name,
+							String.valueOf(min), String.valueOf(max)));
+		}
+	}
+
+	public static void checkRange(char value, char min, char max,
+			String property, String name) {
+		if (value < min || value > max) {
+			signalViolation(property, Messages.getString("Validator.must.be.in.range",
+					name, String.valueOf(min), String.valueOf(max)));
+		}
+	}
+
+	public static void checkMin(int value, int min, String property, String name) {
+		if (value < min) {
+			signalViolation(property,
+					Messages.getString("Validator.must.be.at.least", name,
+							String.valueOf(min)));
+		}
+	}
+
+	public static void checkIn(String s, String[] strings, String property,
+			String name) {
+		if (isEmpty(s)) {
+			signalViolation(property,
+					Messages.getString("Validator.empty.field", name));
+		}
+
+		List<String> list = Arrays.asList(strings);
+
+		if (!list.contains(s)) {
+			signalViolation(property,
+					Messages.getString("Validator.invalid.option", name, list.toString())); 
+		}
+	}
+
+	public static void checkTrue(boolean condition, String property, String msg) {
+		if (!condition) {
+			signalViolation(property, msg);
+		}
+	}
+	
+	public static void checkFalse(boolean condition, String property, String msg) {
+		if (condition) {
+			signalViolation(property, msg);
+		}
+	}
+	
+	public static void checkFile(File f, String property, String fileDescription) {
+		File cfgPath = ConfigPersister.getInstance().getConfigPath();
+		if (f == null
+				|| f.getPath().equals("")
+				|| (!f.exists() && !Util.getAbsoluteFile(cfgPath, f).exists())) {
+			signalViolation(property,
+					Messages.getString("Validator.doesnt.exist", fileDescription));
+		}
+	}
+
+	public static void checkOptFile(File f, String property, String fileDescription) {
+		if (f != null && f.getPath().length() > 0) {
+			checkFile(f, property, fileDescription);
+		}
+	}
+
+	public static void checkRelativeWinPath(String path, String property, String msg) {
+		if (path == null
+				|| path.equals("")
+				|| path.startsWith("/")
+				|| path.startsWith("\\")
+				|| path.indexOf(':') != -1) {
+			signalViolation(property, msg);
+		}
+	}
+
+	public static void signalLengthViolation(String property, String name,
+			int maxLength) {
+		signalViolation(property,
+				Messages.getString("Validator.exceeds.max.length", name,
+						String.valueOf(maxLength)));
+	}
+
+	public static void signalViolation(String property, String msg)	{
+		throw new InvariantViolationException(property, msg);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/messages.properties b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/messages.properties
new file mode 100644
index 0000000..e9548cd
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/messages.properties
@@ -0,0 +1,52 @@
+#
+#	Launch4j (http://launch4j.sourceforge.net/)
+#	Cross-platform Java application wrapper for creating Windows native executables.
+#
+#	Copyright (c) 2004, 2015 Grzegorz Kowal
+#	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+#
+
+OptComponentBinding.must.implement=Optional component must implement 
+
+Validator.empty.field=Enter: {0} 
+Validator.invalid.data=Invalid data: {0} 
+Validator.must.be.in.range={0} must be in range [{1}-{2}]
+Validator.must.be.at.least={0} must be at least 
+Validator.already.exists={0} already exists.
+Validator.doesnt.exist={0} doesn''t exist.
+Validator.exceeds.max.length={0} exceeds the maximum length of {1} characters.
+Validator.invalid.option={0} must be one of [{1}]
+
+Bindings.duplicate.binding=Duplicate binding
+
+JRadioButtonBinding.property.null=Property is null
+JRadioButtonBinding.nothing.selected=Nothing selected
+JRadioButtonBinding.index.out.of.bounds=Button index out of bounds
+
+JComboBoxBinding.property.null=Property is null
+JComboBoxBinding.index.out.of.bounds=Combo box index out of bounds
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/messages_es.properties b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/messages_es.properties
new file mode 100644
index 0000000..52e44f2
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/binding/messages_es.properties
@@ -0,0 +1,51 @@
+#
+#	Launch4j (http://launch4j.sourceforge.net/)
+#	Cross-platform Java application wrapper for creating Windows native executables.
+#
+#	Copyright (c) 2004, 2007 Grzegorz Kowal, Patricio Mart�nez Ros
+#	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+#
+
+OptComponentBinding.must.implement=El componente opcional debe ser implementado 
+
+Validator.empty.field=Introduzca: {0} 
+Validator.invalid.data=Dato no v�lido: {0} 
+Validator.must.be.in.range={0} debe estar en el rango [{1}-{2}]
+Validator.must.be.at.least={0} deb ser al menos 
+Validator.already.exists={0} ya existe.
+Validator.doesnt.exist={0} no existe.
+Validator.exceeds.max.length={0} excede la longitud m�xima de {1} caracteres.
+Validator.invalid.option={0} must be one of [{1}]
+
+Bindings.duplicate.binding=Binding duplicado
+
+JRadioButtonBinding.property.null=La propiedad es nula
+JRadioButtonBinding.nothing.selected=Nada seleccionado
+JRadioButtonBinding.index.out.of.bounds=�ndice de bot�n fuera de l�mite
+JComboBoxBinding.property.null=Property is null
+JComboBoxBinding.index.out.of.bounds=Combo box index out of bounds
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/ClassPath.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/ClassPath.java
new file mode 100644
index 0000000..3b64079
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/ClassPath.java
@@ -0,0 +1,92 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 1, 2006
+ */
+package net.sf.launch4j.config;
+
+import java.util.List;
+
+import net.sf.launch4j.binding.IValidatable;
+import net.sf.launch4j.binding.Validator;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class ClassPath implements IValidatable {
+	private String mainClass;
+	private List<String> paths;
+
+	public void checkInvariants() {
+		Validator.checkString(mainClass, Validator.MAX_PATH, "mainClass",
+				Messages.getString("ClassPath.mainClass"));
+		Validator.checkOptStrings(paths,
+				Validator.MAX_PATH,
+				Validator.MAX_BIG_STR,
+				"paths",
+				Messages.getString("ClassPath.path"));
+	}
+
+	public String getMainClass() {
+		return mainClass;
+	}
+
+	public void setMainClass(String mainClass) {
+		this.mainClass = mainClass;
+	}
+
+	public List<String> getPaths() {
+		return paths;
+	}
+
+	public void setPaths(List<String> paths) {
+		this.paths = paths;
+	}
+
+	public String getPathsString() {
+		StringBuffer sb = new StringBuffer();
+
+		if (paths != null) {
+			for (int i = 0; i < paths.size(); i++) {
+				sb.append(paths.get(i));
+	
+				if (i < paths.size() - 1) {
+					sb.append(';');
+				}
+			}
+		}
+
+		return sb.toString();
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/Config.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/Config.java
new file mode 100644
index 0000000..c322831
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/Config.java
@@ -0,0 +1,395 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Apr 21, 2005
+ */
+package net.sf.launch4j.config;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.List;
+
+import net.sf.launch4j.binding.IValidatable;
+import net.sf.launch4j.binding.Validator;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class Config implements IValidatable {
+
+	// 1.x config properties_____________________________________________________________
+	public static final String HEADER = "header";
+	public static final String JAR = "jar";
+	public static final String OUTFILE = "outfile";
+	public static final String ERR_TITLE = "errTitle";
+	public static final String JAR_ARGS = "jarArgs";
+	public static final String CHDIR = "chdir";
+	public static final String STAY_ALIVE = "stayAlive";
+	public static final String ICON = "icon";
+
+	// __________________________________________________________________________________
+	public static final String DOWNLOAD_URL = "http://java.com/download";
+
+	public static final String GUI_HEADER = "gui";
+	public static final String CONSOLE_HEADER = "console";
+
+	private static final String[] HEADER_TYPES = new String[] { GUI_HEADER,
+																	CONSOLE_HEADER };
+
+	private static final String[] PRIORITY_CLASS_NAMES = new String[] { "normal",
+																		"idle",
+																		"high" };
+
+	private static final int[] PRIORITY_CLASSES = new int[] { 0x00000020,
+															0x00000040,
+															0x00000080 };
+
+	private boolean dontWrapJar;
+	private String headerType = GUI_HEADER;
+	private List<String> headerObjects;
+	private List<String> libs;
+	private File jar;
+	private File outfile;
+
+	// Runtime header configuration
+	private String errTitle;
+	private String cmdLine;
+	private String chdir;
+	private String priority;
+	private String downloadUrl;
+	private String supportUrl;
+	private boolean stayAlive;
+	private boolean restartOnCrash;
+	private File manifest;
+	private File icon;
+	private List<String> variables;
+	private SingleInstance singleInstance;
+	private ClassPath classPath;
+	private Jre jre;
+	private Splash splash;
+	private VersionInfo versionInfo;
+	private Msg	messages;
+
+	public void checkInvariants() {
+		Validator.checkTrue(outfile != null && outfile.getPath().endsWith(".exe"),
+				"outfile", Messages.getString("Config.specify.output.exe"));
+		if (dontWrapJar) {
+			if (jar != null && !jar.getPath().equals("")) {
+				Validator.checkRelativeWinPath(jar.getPath(), "jar",
+						Messages.getString("Config.application.jar.path"));
+			} else {
+				Validator.checkTrue(classPath != null, "classPath",
+						Messages.getString("ClassPath.or.jar"));
+			}
+		} else {
+			Validator.checkFile(jar, "jar",
+					Messages.getString("Config.application.jar"));
+		}
+		if (!Validator.isEmpty(chdir)) {
+			Validator.checkRelativeWinPath(chdir, "chdir",
+					Messages.getString("Config.chdir.relative"));
+			Validator.checkFalse(chdir.toLowerCase().equals("true")	
+					|| chdir.toLowerCase().equals("false"),
+					"chdir", Messages.getString("Config.chdir.path"));
+		}
+		Validator.checkOptFile(manifest, "manifest", Messages.getString("Config.manifest"));
+		Validator.checkOptFile(icon, "icon", Messages.getString("Config.icon"));
+		Validator.checkOptString(cmdLine, Validator.MAX_BIG_STR, "jarArgs",
+				Messages.getString("Config.jar.arguments"));
+		Validator.checkOptString(errTitle, Validator.MAX_STR, "errTitle",
+				Messages.getString("Config.error.title"));
+		Validator.checkOptString(downloadUrl, 256,
+				"downloadUrl", Messages.getString("Config.download.url"));
+		Validator.checkOptString(supportUrl, 256,
+				"supportUrl", Messages.getString("Config.support.url"));
+		Validator.checkIn(getHeaderType(), HEADER_TYPES, "headerType",
+				Messages.getString("Config.header.type"));
+		Validator.checkFalse(getHeaderType().equals(CONSOLE_HEADER) && splash != null,
+				"headerType",
+				Messages.getString("Config.splash.not.impl.by.console.hdr"));
+		Validator.checkOptStrings(variables,
+				Validator.MAX_ARGS,
+				Validator.MAX_ARGS,
+				"[^=%\t]+=[^=\t]+",
+				"variables",
+				Messages.getString("Config.variables"),
+				Messages.getString("Config.variables.err"));
+		Validator.checkIn(getPriority(), PRIORITY_CLASS_NAMES, "priority",
+				Messages.getString("Config.priority"));
+		jre.checkInvariants();
+	}
+	
+	public void validate() {
+		checkInvariants();
+		if (classPath != null) {
+			classPath.checkInvariants();
+		}
+		if (splash != null) {
+			splash.checkInvariants();
+		}
+		if (versionInfo != null) {
+			versionInfo.checkInvariants();
+		}
+	}
+
+	/** Change current directory to EXE location. */
+	public String getChdir() {
+		return chdir;
+	}
+
+	public void setChdir(String chdir) {
+		this.chdir = chdir;
+	}
+
+	/** Constant command line arguments passed to the application. */
+	public String getCmdLine() {
+		return cmdLine;
+	}
+
+	public void setCmdLine(String cmdLine) {
+		this.cmdLine = cmdLine;
+	}
+
+	/** Optional, error message box title. */
+	public String getErrTitle() {
+		return errTitle;
+	}
+
+	public void setErrTitle(String errTitle) {
+		this.errTitle = errTitle;
+	}
+
+	/** launch4j header file. */
+	public String getHeaderType() {
+		return headerType.toLowerCase();
+	}
+
+	public void setHeaderType(String headerType) {
+		this.headerType = headerType;
+	}
+
+	/** launch4j header file index - used by GUI. */
+	public int getHeaderTypeIndex() {
+		int x = Arrays.asList(HEADER_TYPES).indexOf(getHeaderType());
+		return x != -1 ? x : 0;
+	}
+
+	public void setHeaderTypeIndex(int headerTypeIndex) {
+		headerType = HEADER_TYPES[headerTypeIndex];
+	}
+
+	public boolean isCustomHeaderObjects() {
+		return headerObjects != null && !headerObjects.isEmpty();
+	}
+
+	public List<String> getHeaderObjects() {
+		return isCustomHeaderObjects() ? headerObjects
+				: getHeaderType().equals(GUI_HEADER)
+						? LdDefaults.GUI_HEADER_OBJECTS
+						: LdDefaults.CONSOLE_HEADER_OBJECTS;
+	}
+
+	public void setHeaderObjects(List<String> headerObjects) {
+		this.headerObjects = headerObjects;
+	}
+
+	public boolean isCustomLibs() {
+		return libs != null && !libs.isEmpty();
+	}
+
+	public List<String> getLibs() {
+		return isCustomLibs() ? libs : LdDefaults.LIBS;
+	}
+
+	public void setLibs(List<String> libs) {
+		this.libs = libs;
+	}
+
+	/** Wrapper's manifest for User Account Control. */ 
+	public File getManifest() {
+    	return manifest;
+    }
+
+	public void setManifest(File manifest) {
+    	this.manifest = manifest;
+    }
+
+	/** ICO file. */
+	public File getIcon() {
+		return icon;
+	}
+
+	public void setIcon(File icon) {
+		this.icon = icon;
+	}
+
+	/** Jar to wrap. */
+	public File getJar() {
+		return jar;
+	}
+
+	public void setJar(File jar) {
+		this.jar = jar;
+	}
+
+	public List<String> getVariables() {
+		return variables;
+	}
+
+	public void setVariables(List<String> variables) {
+		this.variables = variables;
+	}
+
+	public ClassPath getClassPath() {
+		return classPath;
+	}
+	
+	public void setClassPath(ClassPath classpath) {
+		this.classPath = classpath;
+	}
+
+	/** JRE configuration */
+	public Jre getJre() {
+		return jre;
+	}
+
+	public void setJre(Jre jre) {
+		this.jre = jre;
+	}
+
+	/** Output EXE file. */
+	public File getOutfile() {
+		return outfile;
+	}
+
+	public void setOutfile(File outfile) {
+		this.outfile = outfile;
+	}
+
+	/** Splash screen configuration. */
+	public Splash getSplash() {
+		return splash;
+	}
+
+	public void setSplash(Splash splash) {
+		this.splash = splash;
+	}
+
+	/** Stay alive after launching the application. */
+	public boolean isStayAlive() {
+		return stayAlive;
+	}
+
+	public void setStayAlive(boolean stayAlive) {
+		this.stayAlive = stayAlive;
+	}
+	
+	/** Restart the application after a crash (i.e. exit code other than 0) */
+	public boolean isRestartOnCrash() {
+		return restartOnCrash;
+	}
+	
+	public void setRestartOnCrash(boolean restartOnCrash) {
+		this.restartOnCrash = restartOnCrash;
+	}
+	
+	public VersionInfo getVersionInfo() {
+		return versionInfo;
+	}
+
+	public void setVersionInfo(VersionInfo versionInfo) {
+		this.versionInfo = versionInfo;
+	}
+
+	public boolean isDontWrapJar() {
+		return dontWrapJar;
+	}
+
+	public void setDontWrapJar(boolean dontWrapJar) {
+		this.dontWrapJar = dontWrapJar;
+	}
+
+	public int getPriorityIndex() {
+		int x = Arrays.asList(PRIORITY_CLASS_NAMES).indexOf(getPriority());
+		return x != -1 ? x : 0;
+	}
+	
+	public void setPriorityIndex(int x) {
+		priority = PRIORITY_CLASS_NAMES[x];
+	}
+
+	public String getPriority() {
+		return Validator.isEmpty(priority) ? PRIORITY_CLASS_NAMES[0] : priority;
+	}
+
+	public void setPriority(String priority) {
+		this.priority = priority;
+	}
+	
+	public int getPriorityClass() {
+		return PRIORITY_CLASSES[getPriorityIndex()];
+	}
+	
+	public String getDownloadUrl() {
+		return downloadUrl == null ? DOWNLOAD_URL : downloadUrl;
+	}
+
+	public void setDownloadUrl(String downloadUrl) {
+		this.downloadUrl = downloadUrl;
+	}
+
+	public String getSupportUrl() {
+		return supportUrl;
+	}
+
+	public void setSupportUrl(String supportUrl) {
+		this.supportUrl = supportUrl;
+	}
+
+	public Msg getMessages() {
+		return messages;
+	}
+
+	public void setMessages(Msg messages) {
+		this.messages = messages;
+	}
+	
+	public SingleInstance getSingleInstance() {
+    	return singleInstance;
+    }
+
+	public void setSingleInstance(SingleInstance singleInstance) {
+    	this.singleInstance = singleInstance;
+    }
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/ConfigPersister.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/ConfigPersister.java
new file mode 100644
index 0000000..cca274a
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/ConfigPersister.java
@@ -0,0 +1,276 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Apr 22, 2005
+ */
+package net.sf.launch4j.config;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.ls.DOMImplementationLS;
+import org.w3c.dom.ls.LSSerializer;
+
+import net.sf.launch4j.Util;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.DomDriver;
+
+/**
+ * @author Copyright (C) 2014 Grzegorz Kowal
+ */
+public class ConfigPersister {
+
+	private static final ConfigPersister _instance = new ConfigPersister();
+
+	private final XStream _xstream;
+	private Config _config;
+	private File _configPath;
+
+	private ConfigPersister() {
+		_xstream = new XStream(new DomDriver());
+    	_xstream.alias("launch4jConfig", Config.class);
+    	_xstream.alias("classPath", ClassPath.class);
+    	_xstream.alias("jre", Jre.class);
+    	_xstream.alias("splash", Splash.class);
+    	_xstream.alias("versionInfo", VersionInfo.class);
+
+    	_xstream.addImplicitCollection(Config.class, "headerObjects", "obj",
+    			String.class);
+    	_xstream.addImplicitCollection(Config.class, "libs", "lib", String.class);
+    	_xstream.addImplicitCollection(Config.class, "variables", "var", String.class);
+    	_xstream.addImplicitCollection(ClassPath.class, "paths", "cp", String.class);
+    	_xstream.addImplicitCollection(Jre.class, "options", "opt", String.class);
+	}
+
+	public static ConfigPersister getInstance() {
+		return _instance;
+	}
+	
+	public Config getConfig() {
+		return _config;
+	}
+
+	public File getConfigPath() {
+		return _configPath;
+	}
+	
+	public File getOutputPath() throws IOException {
+		if (_config.getOutfile().isAbsolute()) {
+			return _config.getOutfile().getParentFile();
+		}
+		File parent = _config.getOutfile().getParentFile();
+		return (parent != null) ? new File(_configPath, parent.getPath()) : _configPath;
+	}
+	
+	public File getOutputFile() throws IOException {
+		return _config.getOutfile().isAbsolute()
+			? _config.getOutfile()
+			: new File(getOutputPath(), _config.getOutfile().getName());
+	}
+
+	public void createBlank() {
+		_config = new Config();
+		_config.setJre(new Jre());
+		_configPath = null;
+	}
+
+	public void setAntConfig(Config c, File basedir) {
+		_config = c;
+		_configPath = basedir;
+	}
+
+	public void load(File f) throws ConfigPersisterException {
+	    try {
+			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+			DocumentBuilder builder = factory.newDocumentBuilder();
+			Document doc = builder.parse(f);
+
+			DOMImplementationLS domImplementation = (DOMImplementationLS) doc.getImplementation();
+		    LSSerializer lsSerializer = domImplementation.createLSSerializer();
+		    String configString = lsSerializer.writeToString(doc);
+
+	    	_config = (Config) _xstream.fromXML(convertToCurrent(configString));
+	    	setConfigPath(f);
+		} catch (Exception e) {
+			throw new ConfigPersisterException(e);
+		}
+	}
+
+	/**
+	 * Imports launch4j 1.x.x config file.
+	 */
+	public void loadVersion1(File f) throws ConfigPersisterException {
+		try {
+			Props props = new Props(f);
+			_config = new Config();
+			String header = props.getProperty(Config.HEADER);
+			_config.setHeaderType(header == null
+					|| header.toLowerCase().equals("guihead.bin") ? Config.GUI_HEADER
+															: Config.CONSOLE_HEADER);
+			_config.setJar(props.getFile(Config.JAR));
+			_config.setOutfile(props.getFile(Config.OUTFILE));
+			_config.setJre(new Jre());
+			_config.getJre().setPath(props.getProperty(Jre.PATH));
+			_config.getJre().setMinVersion(props.getProperty(Jre.MIN_VERSION));
+			_config.getJre().setMaxVersion(props.getProperty(Jre.MAX_VERSION));
+
+			String args = props.getProperty(Jre.ARGS);
+
+			if (args != null) {
+				List<String> jreOptions = new ArrayList<String>();
+				jreOptions.add(args);
+				_config.getJre().setOptions(jreOptions);
+			}
+
+			_config.setCmdLine(props.getProperty(Config.JAR_ARGS));
+			_config.setChdir("true".equals(props.getProperty(Config.CHDIR))
+					? "." : null);
+			_config.setStayAlive("true".equals(props.getProperty(Config.STAY_ALIVE)));
+			_config.setErrTitle(props.getProperty(Config.ERR_TITLE));
+			_config.setIcon(props.getFile(Config.ICON));
+
+			File splashFile = props.getFile(Splash.SPLASH_FILE);
+
+			if (splashFile != null) {
+				_config.setSplash(new Splash());
+				_config.getSplash().setFile(splashFile);
+				String waitfor = props.getProperty("waitfor");		// 1.x
+				_config.getSplash().setWaitForWindow(waitfor != null
+													&& !waitfor.equals(""));
+				String splashTimeout = props.getProperty(Splash.TIMEOUT);
+				if (splashTimeout != null) {
+					_config.getSplash().setTimeout(Integer.parseInt(splashTimeout));	
+				}
+				_config.getSplash().setTimeoutErr("true".equals(
+						props.getProperty(Splash.TIMEOUT_ERR)));
+			} else {
+				_config.setSplash(null);
+			}
+			setConfigPath(f);
+		} catch (IOException e) {
+			throw new ConfigPersisterException(e);
+		}
+	}
+
+	public void save(File f) throws ConfigPersisterException {
+		try {
+			BufferedWriter w = new BufferedWriter(
+					new OutputStreamWriter(new FileOutputStream(f), "UTF-8"));
+			w.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+	    	_xstream.toXML(_config, w);
+	    	w.close();
+	    	setConfigPath(f);
+		} catch (Exception e) {
+			throw new ConfigPersisterException(e);
+		}
+	}
+	
+	/**
+	 * Converts 2.x config to current format.
+	 */
+	private String convertToCurrent(String configString) {
+    	return configString
+    			.replaceAll("<headerType>0<", "<headerType>gui<")
+    			.replaceAll("<headerType>1<", "<headerType>console<")
+    			.replaceAll("jarArgs>", "cmdLine>")
+    			.replaceAll("<jarArgs[ ]*/>", "<cmdLine/>")
+    			.replaceAll("args>", "opt>")
+    			.replaceAll("<args[ ]*/>", "<opt/>")
+    			.replaceAll("<dontUsePrivateJres>false</dontUsePrivateJres>",
+    					"<jdkPreference>" + Jre.JDK_PREFERENCE_PREFER_JRE + "</jdkPreference>")
+    			.replaceAll("<dontUsePrivateJres>true</dontUsePrivateJres>",
+    					"<jdkPreference>" + Jre.JDK_PREFERENCE_JRE_ONLY + "</jdkPreference>")
+    			.replaceAll("<initialHeapSize>0</initialHeapSize>", "")
+    			.replaceAll("<maxHeapSize>0</maxHeapSize>", "")
+    			.replaceAll("<customProcName>.*</customProcName>", "");
+	}
+
+	private void setConfigPath(File configFile) {
+		_configPath = configFile.getAbsoluteFile().getParentFile();
+	}
+
+	private class Props {
+		final Properties _properties = new Properties();
+
+		public Props(File f) throws IOException {
+			FileInputStream is = null;
+			try {
+				is = new FileInputStream(f);
+				_properties.load(is);
+			} finally {
+				Util.close(is);
+			}
+		}
+
+		/**
+		 * Get property and remove trailing # comments.
+		 */
+		public String getProperty(String key) {
+			String p = _properties.getProperty(key);
+
+			if (p == null) {
+				return null;
+			}
+
+			int x = p.indexOf('#');
+			
+			if (x == -1) {
+				return p;
+			}
+			
+			do {
+				x--;
+			} while (x > 0 && (p.charAt(x) == ' ' || p.charAt(x) == '\t'));
+			
+			return (x == 0) ? "" : p.substring(0, x + 1);
+		}
+
+		public File getFile(String key) {
+			String value = getProperty(key);
+			return value != null ? new File(value) : null;
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/ConfigPersisterException.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/ConfigPersisterException.java
new file mode 100644
index 0000000..8a055b2
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/ConfigPersisterException.java
@@ -0,0 +1,51 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Apr 22, 2005
+ */
+package net.sf.launch4j.config;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class ConfigPersisterException extends Exception {
+
+	public ConfigPersisterException(String msg, Throwable t) {
+		super(msg, t);
+	}
+	
+	public ConfigPersisterException(Throwable t) {
+		super(t);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/Jre.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/Jre.java
new file mode 100644
index 0000000..ceb2801
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/Jre.java
@@ -0,0 +1,292 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Apr 21, 2005
+ */
+package net.sf.launch4j.config;
+
+import java.util.Arrays;
+import java.util.List;
+
+import net.sf.launch4j.binding.IValidatable;
+import net.sf.launch4j.binding.Validator;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class Jre implements IValidatable {
+
+	// 1.x config properties_____________________________________________________________
+	public static final String PATH = "jrepath";
+	public static final String MIN_VERSION = "javamin";
+	public static final String MAX_VERSION = "javamax";
+	public static final String ARGS = "jvmArgs";
+
+	// __________________________________________________________________________________
+	public static final String VERSION_PATTERN = "(\\d\\.){2}\\d(_\\d+)?";
+
+	public static final String JDK_PREFERENCE_JRE_ONLY = "jreOnly";
+	public static final String JDK_PREFERENCE_PREFER_JRE = "preferJre";
+	public static final String JDK_PREFERENCE_PREFER_JDK = "preferJdk";
+	public static final String JDK_PREFERENCE_JDK_ONLY = "jdkOnly";
+	
+	public static final String RUNTIME_BITS_64 = "64";
+	public static final String RUNTIME_BITS_64_AND_32 = "64/32";
+	public static final String RUNTIME_BITS_32_AND_64 = "32/64";
+	public static final String RUNTIME_BITS_32 = "32";
+
+	private static final String[] JDK_PREFERENCE_NAMES = new String[] {
+			JDK_PREFERENCE_JRE_ONLY,
+			JDK_PREFERENCE_PREFER_JRE,
+			JDK_PREFERENCE_PREFER_JDK,
+			JDK_PREFERENCE_JDK_ONLY };
+
+	private static final String[] RUNTIME_BITS_OPTIONS = new String[] {
+			RUNTIME_BITS_64,
+			RUNTIME_BITS_64_AND_32,
+			RUNTIME_BITS_32_AND_64,
+			RUNTIME_BITS_32	};
+
+	public static final int DEFAULT_JDK_PREFERENCE_INDEX
+			= Arrays.asList(JDK_PREFERENCE_NAMES).indexOf(JDK_PREFERENCE_PREFER_JRE);
+
+	public static final int DEFAULT_RUNTIME_BITS_INDEX
+			= Arrays.asList(RUNTIME_BITS_OPTIONS).indexOf(RUNTIME_BITS_64_AND_32);
+
+	private String path;
+	private boolean bundledJre64Bit;
+	private boolean bundledJreAsFallback;
+	private String minVersion;
+	private String maxVersion;
+	private String jdkPreference;
+	private String runtimeBits;
+	private Integer initialHeapSize;
+	private Integer initialHeapPercent;
+	private Integer maxHeapSize;
+	private Integer maxHeapPercent;
+	private List<String> options;
+
+	public void checkInvariants() {
+		Validator.checkOptString(minVersion, 10, VERSION_PATTERN,
+				"jre.minVersion", Messages.getString("Jre.min.version"));
+		Validator.checkOptString(maxVersion, 10, VERSION_PATTERN,
+				"jre.maxVersion", Messages.getString("Jre.max.version"));
+		if (Validator.isEmpty(path)) {
+			Validator.checkFalse(bundledJre64Bit, "jre.bundledJre64Bit",
+					Messages.getString("Jre.bundled.64bit.invalid"));
+			Validator.checkFalse(bundledJreAsFallback, "jre.bundledJreAsFallback",
+					Messages.getString("Jre.bundled.fallback.invalid"));
+			Validator.checkFalse(Validator.isEmpty(minVersion),
+					"jre.minVersion", Messages.getString("Jre.specify.jre.min.version.or.path"));
+		} else {
+			Validator.checkString(path, Validator.MAX_PATH,
+					"jre.path", Messages.getString("Jre.bundled.path"));
+		}
+		if (!Validator.isEmpty(maxVersion)) {
+			Validator.checkFalse(Validator.isEmpty(minVersion),
+					"jre.minVersion", Messages.getString("Jre.specify.min.version"));
+			Validator.checkTrue(minVersion.compareTo(maxVersion) < 0,
+					"jre.maxVersion", Messages.getString("Jre.max.greater.than.min"));
+		}
+		Validator.checkTrue(initialHeapSize == null || maxHeapSize != null,
+				"jre.maxHeapSize", Messages.getString("Jre.initial.and.max.heap"));
+		Validator.checkTrue(initialHeapSize == null || initialHeapSize.intValue() > 0,
+				"jre.initialHeapSize", Messages.getString("Jre.initial.heap"));
+		Validator.checkTrue(maxHeapSize == null || (maxHeapSize.intValue()
+				>= ((initialHeapSize != null) ? initialHeapSize.intValue() : 1)),
+				"jre.maxHeapSize", Messages.getString("Jre.max.heap"));
+		Validator.checkTrue(initialHeapPercent == null || maxHeapPercent != null,
+				"jre.maxHeapPercent", Messages.getString("Jre.initial.and.max.heap"));
+		if (initialHeapPercent != null) {
+			Validator.checkRange(initialHeapPercent.intValue(), 1, 100,
+					"jre.initialHeapPercent",
+					Messages.getString("Jre.initial.heap.percent"));
+		}
+		if (maxHeapPercent != null) {
+			Validator.checkRange(maxHeapPercent.intValue(),
+					initialHeapPercent != null ? initialHeapPercent.intValue() : 1, 100,
+					"jre.maxHeapPercent",
+					Messages.getString("Jre.max.heap.percent"));
+		}
+		Validator.checkIn(getJdkPreference(), JDK_PREFERENCE_NAMES,
+				"jre.jdkPreference", Messages.getString("Jre.jdkPreference"));
+		Validator.checkIn(getRuntimeBits(), RUNTIME_BITS_OPTIONS,
+				"jre.runtimeBits", Messages.getString("Jre.runtimeBits"));
+		Validator.checkOptStrings(options,
+				Validator.MAX_ARGS,
+				Validator.MAX_ARGS,
+				"[^\"]*|([^\"]*\"[^\"]*\"[^\"]*)*",
+				"jre.options",
+				Messages.getString("Jre.jvm.options"),
+				Messages.getString("Jre.jvm.options.unclosed.quotation"));
+
+		// Quoted variable references: "[^%]*|([^%]*\"([^%]*%[^%]+%[^%]*)+\"[^%]*)*"
+		Validator.checkOptStrings(options,
+				Validator.MAX_ARGS,
+				Validator.MAX_ARGS,
+				"[^%]*|([^%]*([^%]*%[^%]+%[^%]*)+[^%]*)*",
+				"jre.options",
+				Messages.getString("Jre.jvm.options"),
+				Messages.getString("Jre.jvm.options.variable"));
+	}
+
+	/** JVM options */
+	public List<String> getOptions() {
+		return options;
+	}
+
+	public void setOptions(List<String> options) {
+		this.options = options;
+	}
+
+	/** Max Java version (x.x.x) */
+	public String getMaxVersion() {
+		return maxVersion;
+	}
+
+	public void setMaxVersion(String maxVersion) {
+		this.maxVersion = maxVersion;
+	}
+
+	/** Min Java version (x.x.x) */
+	public String getMinVersion() {
+		return minVersion;
+	}
+
+	public void setMinVersion(String minVersion) {
+		this.minVersion = minVersion;
+	}
+
+	/** Preference for standalone JRE or JDK-private JRE */
+	public String getJdkPreference() {
+		return Validator.isEmpty(jdkPreference) ? JDK_PREFERENCE_PREFER_JRE
+												: jdkPreference;
+	}
+
+	public void setJdkPreference(String jdkPreference) {
+		this.jdkPreference = jdkPreference;
+	}
+
+	/** Preference for standalone JRE or JDK-private JRE */
+	public int getJdkPreferenceIndex() {
+		int x = Arrays.asList(JDK_PREFERENCE_NAMES).indexOf(getJdkPreference());
+		return x != -1 ? x : DEFAULT_JDK_PREFERENCE_INDEX;
+	}
+	
+	public void setJdkPreferenceIndex(int x) {
+		this.jdkPreference = JDK_PREFERENCE_NAMES[x];
+	}
+	
+	public String getRuntimeBits() {
+		return Validator.isEmpty(runtimeBits) ? RUNTIME_BITS_64_AND_32
+												: runtimeBits;
+	}
+
+	public void setRuntimeBits(String runtimeBits) {
+		this.runtimeBits = runtimeBits;
+	}
+	
+	public int getRuntimeBitsIndex() {
+		int x = Arrays.asList(RUNTIME_BITS_OPTIONS).indexOf(getRuntimeBits());
+		return x != -1 ? x : DEFAULT_RUNTIME_BITS_INDEX;
+	}
+	
+	public void setRuntimeBitsIndex(int x) {
+		this.runtimeBits = RUNTIME_BITS_OPTIONS[x];
+	}
+
+	/** JRE path */
+	public String getPath() {
+		return path;
+	}
+
+	public void setPath(String path) {
+		this.path = path;
+	}
+	
+	public boolean getBundledJre64Bit() {
+		return bundledJre64Bit;
+	}
+	
+	public void setBundledJre64Bit(boolean bundledJre64Bit) {
+		this.bundledJre64Bit = bundledJre64Bit;	
+	}
+	
+	public boolean getBundledJreAsFallback() {
+		return bundledJreAsFallback;
+	}
+	
+	public void setBundledJreAsFallback(boolean bundledJreAsFallback) {
+		this.bundledJreAsFallback = bundledJreAsFallback;
+	}
+
+	/** Initial heap size in MB */
+	public Integer getInitialHeapSize() {
+		return initialHeapSize;
+	}
+
+	public void setInitialHeapSize(Integer initialHeapSize) {
+		this.initialHeapSize = getInteger(initialHeapSize);
+	}
+
+	/** Max heap size in MB */
+	public Integer getMaxHeapSize() {
+		return maxHeapSize;
+	}
+
+	public void setMaxHeapSize(Integer maxHeapSize) {
+		this.maxHeapSize = getInteger(maxHeapSize);
+	}
+	
+	public Integer getInitialHeapPercent() {
+    	return initialHeapPercent;
+    }
+
+	public void setInitialHeapPercent(Integer initialHeapPercent) {
+    	this.initialHeapPercent = getInteger(initialHeapPercent);
+    }
+
+	public Integer getMaxHeapPercent() {
+    	return maxHeapPercent;
+    }
+
+	public void setMaxHeapPercent(Integer maxHeapPercent) {
+    	this.maxHeapPercent = getInteger(maxHeapPercent);
+    }
+
+	/** Convert 0 to null */
+	private Integer getInteger(Integer i) {
+		return i != null && i.intValue() == 0 ? null : i;
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/LdDefaults.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/LdDefaults.java
new file mode 100644
index 0000000..5b4179c
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/LdDefaults.java
@@ -0,0 +1,62 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Sep 3, 2005
+ */
+package net.sf.launch4j.config;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class LdDefaults {
+
+	public static final List<String> GUI_HEADER_OBJECTS = Arrays.asList(new String[] {
+			"w32api/crt2.o",
+			"head/guihead.o",
+			"head/head.o" });
+
+	public static final List<String> CONSOLE_HEADER_OBJECTS = Arrays.asList(new String[] {
+			"w32api/crt2.o",
+			"head/consolehead.o",
+			"head/head.o"});
+
+	public static final List<String> LIBS = Arrays.asList(new String[] {
+			"w32api/libmingw32.a",
+			"w32api/libgcc.a",
+			"w32api/libmsvcrt.a",
+			"w32api/libkernel32.a",
+			"w32api/libuser32.a",
+			"w32api/libadvapi32.a",
+			"w32api/libshell32.a" });
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/Messages.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/Messages.java
new file mode 100644
index 0000000..c0f0b9d
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/Messages.java
@@ -0,0 +1,78 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+package net.sf.launch4j.config;
+
+import java.text.MessageFormat;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+public class Messages {
+	private static final String BUNDLE_NAME = "net.sf.launch4j.config.messages";
+
+	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
+			.getBundle(BUNDLE_NAME);
+	private static final MessageFormat FORMATTER = new MessageFormat("");
+
+	private Messages() {
+	}
+	
+	public static String getString(String key) {
+		try {
+			return RESOURCE_BUNDLE.getString(key);
+		} catch (MissingResourceException e) {
+			return '!' + key + '!';
+		}
+	}
+	
+	public static String getString(String key, String arg0) {
+		return getString(key, new Object[] {arg0});
+	}
+
+	public static String getString(String key, String arg0, String arg1) {
+		return getString(key, new Object[] {arg0, arg1});
+	}
+
+	public static String getString(String key, String arg0, String arg1, String arg2) {
+		return getString(key, new Object[] {arg0, arg1, arg2});
+	}
+
+	public static String getString(String key, Object[] args) {
+		try {
+			FORMATTER.applyPattern(RESOURCE_BUNDLE.getString(key));
+			return FORMATTER.format(args);
+		} catch (MissingResourceException e) {
+			return '!' + key + '!';
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/Msg.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/Msg.java
new file mode 100644
index 0000000..a5d5fe5
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/Msg.java
@@ -0,0 +1,111 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Oct 8, 2006
+ */
+package net.sf.launch4j.config;
+
+import net.sf.launch4j.binding.IValidatable;
+import net.sf.launch4j.binding.Validator;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class Msg implements IValidatable {
+	private String startupErr;
+	private String bundledJreErr;
+	private String jreVersionErr;
+	private String launcherErr;
+	private String instanceAlreadyExistsMsg;
+
+	public void checkInvariants() {
+		Validator.checkOptString(startupErr, 1024, "startupErr",
+				Messages.getString("Msg.startupErr"));
+		Validator.checkOptString(bundledJreErr, 1024, "bundledJreErr",
+				Messages.getString("Msg.bundledJreErr"));
+		Validator.checkOptString(jreVersionErr, 1024, "jreVersionErr",
+				Messages.getString("Msg.jreVersionErr"));
+		Validator.checkOptString(launcherErr, 1024, "launcherErr",
+				Messages.getString("Msg.launcherErr"));
+		Validator.checkOptString(instanceAlreadyExistsMsg, 1024, "instanceAlreadyExistsMsg",
+				Messages.getString("Msg.instanceAlreadyExistsMsg"));
+	}
+
+	public String getStartupErr() {
+		return !Validator.isEmpty(startupErr) ? startupErr
+				: "An error occurred while starting the application.";
+	}
+	
+	public void setStartupErr(String startupErr) {
+		this.startupErr = startupErr;
+	}
+
+	public String getBundledJreErr() {
+		return !Validator.isEmpty(bundledJreErr) ? bundledJreErr
+				: "This application was configured to use a bundled Java Runtime" +
+						" Environment but the runtime is missing or corrupted.";
+	}
+
+	public void setBundledJreErr(String bundledJreErr) {
+		this.bundledJreErr = bundledJreErr;
+	}
+
+	public String getJreVersionErr() {
+		return !Validator.isEmpty(jreVersionErr) ? jreVersionErr
+				: "This application requires a Java Runtime Environment";
+	}
+
+	public void setJreVersionErr(String jreVersionErr) {
+		this.jreVersionErr = jreVersionErr;
+	}
+	
+	public String getLauncherErr() {
+		return !Validator.isEmpty(launcherErr) ? launcherErr
+				: "The registry refers to a nonexistent Java Runtime Environment" +
+						" installation or the runtime is corrupted.";
+	}
+	
+	public void setLauncherErr(String launcherErr) {
+		this.launcherErr = launcherErr;
+	}
+
+	public String getInstanceAlreadyExistsMsg() {
+    	return !Validator.isEmpty(instanceAlreadyExistsMsg) ? instanceAlreadyExistsMsg
+    			: "An application instance is already running.";
+    }
+
+	public void setInstanceAlreadyExistsMsg(String instanceAlreadyExistsMsg) {
+    	this.instanceAlreadyExistsMsg = instanceAlreadyExistsMsg;
+    }
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/SingleInstance.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/SingleInstance.java
new file mode 100644
index 0000000..d8fdd7a
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/SingleInstance.java
@@ -0,0 +1,74 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/**
+ * Created on 2007-09-16
+ */
+package net.sf.launch4j.config;
+
+import net.sf.launch4j.binding.IValidatable;
+import net.sf.launch4j.binding.Validator;
+
+/**
+ * @author Copyright (C) 2007 Grzegorz Kowal
+ */
+public class SingleInstance implements IValidatable {
+
+	private String mutexName;
+	private String windowTitle;
+	
+	public void checkInvariants() {
+		Validator.checkString(mutexName, Validator.MAX_STR,
+				"singleInstance.mutexName",
+				Messages.getString("SingleInstance.mutexName"));
+		Validator.checkOptString(windowTitle, Validator.MAX_STR,
+				"singleInstance.windowTitle",
+				Messages.getString("SingleInstance.windowTitle"));
+	}
+	
+	public String getWindowTitle() {
+    	return windowTitle;
+    }
+	
+	public void setWindowTitle(String appWindowName) {
+    	this.windowTitle = appWindowName;
+    }
+	
+	public String getMutexName() {
+    	return mutexName;
+    }
+	
+	public void setMutexName(String mutexName) {
+    	this.mutexName = mutexName;
+    }
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/Splash.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/Splash.java
new file mode 100644
index 0000000..47f76d8
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/Splash.java
@@ -0,0 +1,103 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Apr 21, 2005
+ */
+package net.sf.launch4j.config;
+
+import java.io.File;
+
+import net.sf.launch4j.binding.IValidatable;
+import net.sf.launch4j.binding.Validator;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class Splash implements IValidatable {
+	
+	// 1.x config properties_____________________________________________________________
+	public static final String SPLASH_FILE = "splash";
+	public static final String WAIT_FOR_TITLE = "waitForTitle";
+	public static final String TIMEOUT = "splashTimeout";
+	public static final String TIMEOUT_ERR = "splashTimeoutErr";
+
+	// __________________________________________________________________________________
+	private File file;
+	private boolean waitForWindow = true;
+	private int timeout = 60;
+	private boolean timeoutErr = true;
+
+	public void checkInvariants() {
+		Validator.checkFile(file, "splash.file",
+				Messages.getString("Splash.splash.file"));
+		Validator.checkRange(timeout, 1, 60 * 15, "splash.timeout",
+				Messages.getString("Splash.splash.timeout"));
+	}
+
+	/** Splash screen in BMP format. */
+	public File getFile() {
+		return file;
+	}
+
+	public void setFile(File file) {
+		this.file = file;
+	}
+
+	/** Splash timeout in seconds. */
+	public int getTimeout() {
+		return timeout;
+	}
+
+	public void setTimeout(int timeout) {
+		this.timeout = timeout;
+	}
+
+	/** Signal error on splash timeout. */
+	public boolean isTimeoutErr() {
+		return timeoutErr;
+	}
+
+	public void setTimeoutErr(boolean timeoutErr) {
+		this.timeoutErr = timeoutErr;
+	}
+
+	/** Hide splash screen when the child process displayes the first window. */
+	public boolean getWaitForWindow() {
+		return waitForWindow;
+	}
+
+	public void setWaitForWindow(boolean waitForWindow) {
+		this.waitForWindow = waitForWindow;
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/VersionInfo.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/VersionInfo.java
new file mode 100644
index 0000000..9a24abd
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/VersionInfo.java
@@ -0,0 +1,168 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 21, 2005
+ */
+package net.sf.launch4j.config;
+
+import net.sf.launch4j.binding.IValidatable;
+import net.sf.launch4j.binding.Validator;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class VersionInfo implements IValidatable {
+	public static final String VERSION_PATTERN = "(\\d+\\.){3}\\d+";
+
+	private String fileVersion;
+	private String txtFileVersion;
+	private String fileDescription;
+	private String copyright;
+	private String productVersion;
+	private String txtProductVersion;
+	private String productName;
+	private String companyName;
+	private String internalName;
+	private String originalFilename;
+
+	public void checkInvariants() {
+		Validator.checkString(fileVersion, 20, VERSION_PATTERN,
+				"versionInfo.fileVersion",
+				Messages.getString("VersionInfo.file.version"));
+		Validator.checkString(txtFileVersion, 50, "versionInfo.txtFileVersion",
+				Messages.getString("VersionInfo.txt.file.version"));
+		Validator.checkString(fileDescription, 150, "versionInfo.fileDescription",
+				Messages.getString("VersionInfo.file.description"));
+		Validator.checkString(copyright, 150, "versionInfo.copyright",
+				Messages.getString("VersionInfo.copyright"));
+		Validator.checkString(productVersion, 20, VERSION_PATTERN,
+				"versionInfo.productVersion",
+				Messages.getString("VersionInfo.product.version"));
+		Validator.checkString(txtProductVersion, 50, "versionInfo.txtProductVersion",
+				Messages.getString("VersionInfo.txt.product.version"));
+		Validator.checkString(productName, 150, "versionInfo.productName",
+				Messages.getString("VersionInfo.product.name"));
+		Validator.checkOptString(companyName, 150, "versionInfo.companyName",
+				Messages.getString("VersionInfo.company.name"));
+		Validator.checkString(internalName, 50, 	"versionInfo.internalName",
+				Messages.getString("VersionInfo.internal.name"));
+		Validator.checkTrue(!internalName.endsWith(".exe"), "versionInfo.internalName",
+				Messages.getString("VersionInfo.internal.name.not.exe"));
+		Validator.checkString(originalFilename, 50, "versionInfo.originalFilename",
+				Messages.getString("VersionInfo.original.filename"));
+		Validator.checkTrue(originalFilename.endsWith(".exe"),
+				"versionInfo.originalFilename",
+				Messages.getString("VersionInfo.original.filename.exe"));
+	}
+
+	public String getCompanyName() {
+		return companyName;
+	}
+
+	public void setCompanyName(String companyName) {
+		this.companyName = companyName;
+	}
+
+	public String getCopyright() {
+		return copyright;
+	}
+
+	public void setCopyright(String copyright) {
+		this.copyright = copyright;
+	}
+
+	public String getFileDescription() {
+		return fileDescription;
+	}
+
+	public void setFileDescription(String fileDescription) {
+		this.fileDescription = fileDescription;
+	}
+
+	public String getFileVersion() {
+		return fileVersion;
+	}
+
+	public void setFileVersion(String fileVersion) {
+		this.fileVersion = fileVersion;
+	}
+
+	public String getInternalName() {
+		return internalName;
+	}
+
+	public void setInternalName(String internalName) {
+		this.internalName = internalName;
+	}
+
+	public String getOriginalFilename() {
+		return originalFilename;
+	}
+
+	public void setOriginalFilename(String originalFilename) {
+		this.originalFilename = originalFilename;
+	}
+
+	public String getProductName() {
+		return productName;
+	}
+
+	public void setProductName(String productName) {
+		this.productName = productName;
+	}
+
+	public String getProductVersion() {
+		return productVersion;
+	}
+
+	public void setProductVersion(String productVersion) {
+		this.productVersion = productVersion;
+	}
+
+	public String getTxtFileVersion() {
+		return txtFileVersion;
+	}
+
+	public void setTxtFileVersion(String txtFileVersion) {
+		this.txtFileVersion = txtFileVersion;
+	}
+
+	public String getTxtProductVersion() {
+		return txtProductVersion;
+	}
+
+	public void setTxtProductVersion(String txtProductVersion) {
+		this.txtProductVersion = txtProductVersion;
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/messages.properties b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/messages.properties
new file mode 100644
index 0000000..cae66fa
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/messages.properties
@@ -0,0 +1,96 @@
+#
+#	Launch4j (http://launch4j.sourceforge.net/)
+#	Cross-platform Java application wrapper for creating Windows native executables.
+#
+#	Copyright (c) 2004, 2015 Grzegorz Kowal
+#	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+#
+
+Splash.splash.file=Splash file
+Splash.splash.timeout=Splash timeout
+
+Config.specify.output.exe=Specify output file with .exe extension.
+Config.application.jar=Application jar
+Config.application.jar.path=Specify runtime path of the jar relative to the executable.
+Config.chdir.relative='chdir' must be a path relative to the executable.
+Config.chdir.path='chdir' is now a path instead of a boolean, please check the docs.
+Config.manifest=Manifest
+Config.icon=Icon
+Config.jar.arguments=Jar arguments
+Config.error.title=Error title
+Config.download.url=Download URL
+Config.support.url=Support URL
+Config.header.type=Header type
+Config.splash.not.impl.by.console.hdr=Splash screen is not implemented by console header.
+Config.variables=Environment variables
+Config.variables.err=Environment variable assignment should have the form varname=[value][%varref%]...
+Config.priority=Process priority
+
+ClassPath.mainClass=Main class
+ClassPath.or.jar=Specify runtime path of a jar or the classpath.
+ClassPath.path=Classpath
+
+VersionInfo.file.version=File version, should be 'x.x.x.x'
+VersionInfo.txt.file.version=Free form file version
+VersionInfo.file.description=File description
+VersionInfo.copyright=Copyright
+VersionInfo.product.version=Product version, should be 'x.x.x.x'
+VersionInfo.txt.product.version=Free from product version
+VersionInfo.product.name=Product name
+VersionInfo.company.name=Company name
+VersionInfo.internal.name=Internal name
+VersionInfo.internal.name.not.exe=Internal name shouldn't have the .exe extension.
+VersionInfo.original.filename=Original filename
+VersionInfo.original.filename.exe=Original filename should end with the .exe extension.
+
+Jre.min.version=Minimum JRE version should be x.x.x[_xx]
+Jre.max.version=Maximum JRE version should be x.x.x[_xx]
+Jre.specify.jre.min.version.or.path=Specify minimum JRE version and/or bundled JRE path.
+Jre.bundled.path=Bundled JRE path
+Jre.bundled.64bit.invalid=The bundled JRE 64-bit option can only be used if the JRE path is specified.
+Jre.bundled.fallback.invalid=The bundled JRE as fallback option can only be used if the JRE path is specified.
+Jre.specify.min.version=Specify minimum JRE version.
+Jre.max.greater.than.min=Maximum JRE version must be greater than the minimum.\nTo use a certain JRE version, you may set the min/max range to [1.4.2 - 1.4.2_10] for example.
+Jre.initial.and.max.heap=If you change the initial heap size please also specify the maximum size.
+Jre.initial.heap=Initial heap size must be greater than 0, leave the field blank to use the JVM default.
+Jre.max.heap=Maximum heap size cannot be less than the initial size, leave the field blank to use the JVM default.
+Jre.initial.heap.percent=Initial heap %
+Jre.max.heap.percent=Maximum heap %
+Jre.jdkPreference=JDK preference
+Jre.runtimeBits=Runtime bits
+Jre.jvm.options=JVM arguments
+Jre.jvm.options.unclosed.quotation=JVM arguments contain an unclosed quotation.
+Jre.jvm.options.variable=Invalid environment variable reference.
+
+Msg.startupErr=Startup error message
+Msg.bundledJreErr=Bundled JRE error message
+Msg.jreVersionErr=JRE version error message
+Msg.launcherErr=Launcher error message
+
+SingleInstance.mutexName=Mutex name
+SingleInstance.windowTitle=Window title
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/messages_es.properties b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/messages_es.properties
new file mode 100644
index 0000000..5b897d0
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/config/messages_es.properties
@@ -0,0 +1,75 @@
+#
+#	Launch4j (http://launch4j.sourceforge.net/)
+#	Cross-platform Java application wrapper for creating Windows native executables.
+#
+#	Copyright (c) 2004, 2007 Grzegorz Kowal, Patricio Mart�nez Ros
+#	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+#
+
+Splash.splash.file = Fichero de la pantalla de bienvenida
+Splash.splash.timeout = Tiempo de espera de la pantalla de bienvenida
+
+Config.specify.output.exe = Especifique el fichero de salida con extensi\u00F3n .exe.
+Config.application.jar = Aplicaci\u00F3n jar
+Config.application.jar.path = Especifique la ruta del jar relativa al ejecutable. 
+Config.chdir.relative = 'Cambiar al directorio' debe ser una ruta relativa al ejecutable.
+Config.chdir.path = 'Cambiar al directorio' ahora es una ruta en lugar de un booleano, por favor consulte la documentaci\u00F3n.
+Config.icon = Icono
+Config.jar.arguments = Argumentos del jar
+Config.error.title = T\u00EDtulo de error
+Config.header.type = Tipo de cabecera
+Config.splash.not.impl.by.console.hdr = La pantalla de bienvenida no est\u00E1 implementada para la cabecera de tipo consola.
+
+VersionInfo.file.version = La versi\u00F3n del fichero, deber\u00EDa ser 'x.x.x.x'
+VersionInfo.txt.file.version = Forma libre de versi\u00F3n del fichero
+VersionInfo.file.description = Descripci\u00F3n del fichero
+VersionInfo.copyright = Copyright
+VersionInfo.product.version = Versi\u00F3n del producto, deber\u00EDa ser 'x.x.x.x'
+VersionInfo.txt.product.version = Forma libre de versi\u00F3n del producto
+VersionInfo.product.name = Nombre del producto
+VersionInfo.company.name = Nombre de la organizaci\u00F3n
+VersionInfo.internal.name = Nombre interno
+VersionInfo.internal.name.not.exe = El nombre interno no deber\u00EDa tener extensi\u00F3n .exe.
+VersionInfo.original.filename = Nombre original del fichero
+VersionInfo.original.filename.exe = El nombre original del fichero debe acabar con extensi\u00F3n .exe.
+Jre.min.version = La versi\u00F3n m\u00EDnima del JRE deber\u00EDa ser x.x.x[_xx]
+Jre.max.version = La versi\u00F3n m\u00E1xima del JRE deber\u00EDa ser x.x.x[_xx]
+Jre.specify.jre.min.version.or.path=Specify minimum JRE version and/or bundled JRE path.
+Jre.bundled.path.rel = La ruta del JRE debe ser relativa al ejecutable.
+Jre.specify.min.version = Especifique la versi\u00F3n m\u00EDnima del JRE.
+Jre.max.greater.than.min = La versi\u00F3n m\u00E1xima del JRE debe ser mayor que la m\u00EDnima.\nPara usar cierta versi\u00F3n del JRE, puede esyablecer el rango m\u00EDnimo/m\u00E1ximo a [1.4.2 - 1.4.2_10], por ejemplo.
+Jre.jvm.options = Argumentos de la JVM
+
+Msg.startupErr=Startup error message
+Msg.bundledJreErr=Bundled JRE error message
+Msg.jreVersionErr=JRE version error message
+Msg.launcherErr=Launcher error message
+
+SingleInstance.mutexName=Mutex name
+SingleInstance.windowTitle=Window title
+
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/BasicForm.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/BasicForm.java
new file mode 100644
index 0000000..b53458c
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/BasicForm.java
@@ -0,0 +1,284 @@
+package net.sf.launch4j.form;
+
+import com.jeta.forms.components.separator.TitledSeparator;
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ButtonGroup;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
+import javax.swing.JTextField;
+
+public abstract class BasicForm extends JPanel
+{
+   protected final JButton _outfileButton = new JButton();
+   protected final JLabel _outfileLabel = new JLabel();
+   protected final JLabel _iconLabel = new JLabel();
+   protected final JLabel _jarLabel = new JLabel();
+   protected final JButton _jarButton = new JButton();
+   protected final JButton _iconButton = new JButton();
+   protected final JLabel _cmdLineLabel = new JLabel();
+   protected final JLabel _optionsLabel = new JLabel();
+   protected final JLabel _chdirLabel = new JLabel();
+   protected final JLabel _processPriorityLabel = new JLabel();
+   protected final JRadioButton _normalPriorityRadio = new JRadioButton();
+   protected final ButtonGroup _buttongroup1 = new ButtonGroup();
+   protected final JRadioButton _idlePriorityRadio = new JRadioButton();
+   protected final JRadioButton _highPriorityRadio = new JRadioButton();
+   protected final JTextField _cmdLineField = new JTextField();
+   protected final JTextField _chdirField = new JTextField();
+   protected final JTextField _iconField = new JTextField();
+   protected final JCheckBox _dontWrapJarCheck = new JCheckBox();
+   protected final JTextField _jarField = new JTextField();
+   protected final JTextField _outfileField = new JTextField();
+   protected final JLabel _errorTitleLabel = new JLabel();
+   protected final JTextField _errorTitleField = new JTextField();
+   protected final JLabel _downloadUrlLabel = new JLabel();
+   protected final JTextField _downloadUrlField = new JTextField();
+   protected final JLabel _supportUrlLabel = new JLabel();
+   protected final JTextField _supportUrlField = new JTextField();
+   protected final JTextField _manifestField = new JTextField();
+   protected final JButton _manifestButton = new JButton();
+   protected final JCheckBox _stayAliveCheck = new JCheckBox();
+   protected final JCheckBox _restartOnCrashCheck = new JCheckBox();
+
+   /**
+    * Default constructor
+    */
+   public BasicForm()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Adds fill components to empty cells in the first row and first column of the grid.
+    * This ensures that the grid spacing will be the same as shown in the designer.
+    * @param cols an array of column indices in the first row where fill components should be added.
+    * @param rows an array of row indices in the first column where fill components should be added.
+    */
+   void addFillComponents( Container panel, int[] cols, int[] rows )
+   {
+      Dimension filler = new Dimension(10,10);
+
+      boolean filled_cell_11 = false;
+      CellConstraints cc = new CellConstraints();
+      if ( cols.length > 0 && rows.length > 0 )
+      {
+         if ( cols[0] == 1 && rows[0] == 1 )
+         {
+            /** add a rigid area  */
+            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+            filled_cell_11 = true;
+         }
+      }
+
+      for( int index = 0; index < cols.length; index++ )
+      {
+         if ( cols[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+      }
+
+      for( int index = 0; index < rows.length; index++ )
+      {
+         if ( rows[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+      }
+
+   }
+
+   /**
+    * Helper method to load an image file from the CLASSPATH
+    * @param imageName the package and name of the file to load relative to the CLASSPATH
+    * @return an ImageIcon instance with the specified image file
+    * @throws IllegalArgumentException if the image resource cannot be loaded.
+    */
+   public ImageIcon loadImage( String imageName )
+   {
+      try
+      {
+         ClassLoader classloader = getClass().getClassLoader();
+         java.net.URL url = classloader.getResource( imageName );
+         if ( url != null )
+         {
+            ImageIcon icon = new ImageIcon( url );
+            return icon;
+         }
+      }
+      catch( Exception e )
+      {
+         e.printStackTrace();
+      }
+      throw new IllegalArgumentException( "Unable to load image: " + imageName );
+   }
+
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:DEFAULT:NONE,FILL:7DLU:NONE,FILL:DEFAULT:NONE,FILL:7DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:3DLU:NONE,FILL:26PX:NONE,FILL:7DLU:NONE","CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFA [...]
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      _outfileButton.setIcon(loadImage("images/open16.png"));
+      _outfileButton.setName("outfileButton");
+      jpanel1.add(_outfileButton,cc.xy(12,2));
+
+      _outfileLabel.setIcon(loadImage("images/asterix.gif"));
+      _outfileLabel.setName("outfileLabel");
+      _outfileLabel.setText(Messages.getString("outfile"));
+      jpanel1.add(_outfileLabel,cc.xy(2,2));
+
+      _iconLabel.setName("iconLabel");
+      _iconLabel.setText(Messages.getString("icon"));
+      jpanel1.add(_iconLabel,cc.xy(2,10));
+
+      _jarLabel.setIcon(loadImage("images/asterix.gif"));
+      _jarLabel.setName("jarLabel");
+      _jarLabel.setText(Messages.getString("jar"));
+      jpanel1.add(_jarLabel,cc.xy(2,4));
+
+      _jarButton.setIcon(loadImage("images/open16.png"));
+      _jarButton.setName("jarButton");
+      jpanel1.add(_jarButton,cc.xy(12,4));
+
+      _iconButton.setIcon(loadImage("images/open16.png"));
+      _iconButton.setName("iconButton");
+      jpanel1.add(_iconButton,cc.xy(12,10));
+
+      _cmdLineLabel.setName("cmdLineLabel");
+      _cmdLineLabel.setText(Messages.getString("cmdLine"));
+      _cmdLineLabel.setToolTipText("");
+      jpanel1.add(_cmdLineLabel,cc.xy(2,14));
+
+      _optionsLabel.setName("optionsLabel");
+      _optionsLabel.setText(Messages.getString("options"));
+      jpanel1.add(_optionsLabel,cc.xy(2,18));
+
+      _chdirLabel.setName("chdirLabel");
+      _chdirLabel.setText(Messages.getString("chdir"));
+      jpanel1.add(_chdirLabel,cc.xy(2,12));
+
+      _processPriorityLabel.setName("processPriorityLabel");
+      _processPriorityLabel.setText(Messages.getString("priority"));
+      jpanel1.add(_processPriorityLabel,cc.xy(2,16));
+
+      _normalPriorityRadio.setActionCommand(Messages.getString("normalPriority"));
+      _normalPriorityRadio.setName("normalPriorityRadio");
+      _normalPriorityRadio.setText(Messages.getString("normalPriority"));
+      _buttongroup1.add(_normalPriorityRadio);
+      jpanel1.add(_normalPriorityRadio,cc.xy(4,16));
+
+      _idlePriorityRadio.setActionCommand(Messages.getString("idlePriority"));
+      _idlePriorityRadio.setName("idlePriorityRadio");
+      _idlePriorityRadio.setText(Messages.getString("idlePriority"));
+      _buttongroup1.add(_idlePriorityRadio);
+      jpanel1.add(_idlePriorityRadio,cc.xy(6,16));
+
+      _highPriorityRadio.setActionCommand(Messages.getString("highPriority"));
+      _highPriorityRadio.setName("highPriorityRadio");
+      _highPriorityRadio.setText(Messages.getString("highPriority"));
+      _buttongroup1.add(_highPriorityRadio);
+      jpanel1.add(_highPriorityRadio,cc.xy(8,16));
+
+      _cmdLineField.setName("cmdLineField");
+      _cmdLineField.setToolTipText(Messages.getString("cmdLineTip"));
+      jpanel1.add(_cmdLineField,cc.xywh(4,14,7,1));
+
+      _chdirField.setName("chdirField");
+      _chdirField.setToolTipText(Messages.getString("chdirTip"));
+      jpanel1.add(_chdirField,cc.xywh(4,12,7,1));
+
+      _iconField.setName("iconField");
+      _iconField.setToolTipText(Messages.getString("iconTip"));
+      jpanel1.add(_iconField,cc.xywh(4,10,7,1));
+
+      _dontWrapJarCheck.setActionCommand("Don't wrap the jar, launch it only");
+      _dontWrapJarCheck.setName("dontWrapJarCheck");
+      _dontWrapJarCheck.setText(Messages.getString("dontWrapJar"));
+      jpanel1.add(_dontWrapJarCheck,cc.xywh(4,6,7,1));
+
+      _jarField.setName("jarField");
+      _jarField.setToolTipText(Messages.getString("jarTip"));
+      jpanel1.add(_jarField,cc.xywh(4,4,7,1));
+
+      _outfileField.setName("outfileField");
+      _outfileField.setToolTipText(Messages.getString("outfileTip"));
+      jpanel1.add(_outfileField,cc.xywh(4,2,7,1));
+
+      TitledSeparator titledseparator1 = new TitledSeparator();
+      titledseparator1.setText(Messages.getString("downloadAndSupport"));
+      jpanel1.add(titledseparator1,cc.xywh(2,22,11,1));
+
+      _errorTitleLabel.setName("errorTitleLabel");
+      _errorTitleLabel.setText(Messages.getString("errorTitle"));
+      jpanel1.add(_errorTitleLabel,cc.xy(2,24));
+
+      _errorTitleField.setName("errorTitleField");
+      _errorTitleField.setToolTipText(Messages.getString("errorTitleTip"));
+      jpanel1.add(_errorTitleField,cc.xywh(4,24,7,1));
+
+      _downloadUrlLabel.setIcon(loadImage("images/asterix.gif"));
+      _downloadUrlLabel.setName("downloadUrlLabel");
+      _downloadUrlLabel.setText(Messages.getString("downloadUrl"));
+      jpanel1.add(_downloadUrlLabel,cc.xy(2,26));
+
+      _downloadUrlField.setName("downloadUrlField");
+      jpanel1.add(_downloadUrlField,cc.xywh(4,26,7,1));
+
+      _supportUrlLabel.setName("supportUrlLabel");
+      _supportUrlLabel.setText(Messages.getString("supportUrl"));
+      jpanel1.add(_supportUrlLabel,cc.xy(2,28));
+
+      _supportUrlField.setName("supportUrlField");
+      jpanel1.add(_supportUrlField,cc.xywh(4,28,7,1));
+
+      JLabel jlabel1 = new JLabel();
+      jlabel1.setText(Messages.getString("manifest"));
+      jpanel1.add(jlabel1,cc.xy(2,8));
+
+      _manifestField.setName("manifestField");
+      _manifestField.setToolTipText(Messages.getString("manifestTip"));
+      jpanel1.add(_manifestField,cc.xywh(4,8,7,1));
+
+      _manifestButton.setIcon(loadImage("images/open16.png"));
+      _manifestButton.setName("manifestButton");
+      jpanel1.add(_manifestButton,cc.xy(12,8));
+
+      _stayAliveCheck.setActionCommand("Stay alive after launching a GUI application");
+      _stayAliveCheck.setName("stayAliveCheck");
+      _stayAliveCheck.setText(Messages.getString("stayAlive"));
+      jpanel1.add(_stayAliveCheck,cc.xywh(4,18,7,1));
+
+      _restartOnCrashCheck.setActionCommand("Restart the application after a crash");
+      _restartOnCrashCheck.setName("restartOnCrashCheck");
+      _restartOnCrashCheck.setText(Messages.getString("restartOnCrash"));
+      _restartOnCrashCheck.setToolTipText(Messages.getString("restartOnCrashToolTip"));
+      jpanel1.add(_restartOnCrashCheck,cc.xywh(4,20,7,1));
+
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13 },new int[]{ 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 });
+      return jpanel1;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/BasicForm.jfrm b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/BasicForm.jfrm
new file mode 100644
index 0000000..0325724
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/BasicForm.jfrm differ
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/ClassPathForm.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/ClassPathForm.java
new file mode 100644
index 0000000..f19d08e
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/ClassPathForm.java
@@ -0,0 +1,193 @@
+package net.sf.launch4j.form;
+
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextField;
+
+public abstract class ClassPathForm extends JPanel
+{
+   protected final JTextField _classpathField = new JTextField();
+   protected final JLabel _classpathFieldLabel = new JLabel();
+   protected final JLabel _classpathListLabel = new JLabel();
+   protected final JList _classpathList = new JList();
+   protected final JLabel _mainclassLabel = new JLabel();
+   protected final JTextField _mainclassField = new JTextField();
+   protected final JButton _acceptClasspathButton = new JButton();
+   protected final JButton _removeClasspathButton = new JButton();
+   protected final JButton _importClasspathButton = new JButton();
+   protected final JButton _classpathUpButton = new JButton();
+   protected final JButton _classpathDownButton = new JButton();
+   protected final JCheckBox _classpathCheck = new JCheckBox();
+   protected final JButton _newClasspathButton = new JButton();
+
+   /**
+    * Default constructor
+    */
+   public ClassPathForm()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Adds fill components to empty cells in the first row and first column of the grid.
+    * This ensures that the grid spacing will be the same as shown in the designer.
+    * @param cols an array of column indices in the first row where fill components should be added.
+    * @param rows an array of row indices in the first column where fill components should be added.
+    */
+   void addFillComponents( Container panel, int[] cols, int[] rows )
+   {
+      Dimension filler = new Dimension(10,10);
+
+      boolean filled_cell_11 = false;
+      CellConstraints cc = new CellConstraints();
+      if ( cols.length > 0 && rows.length > 0 )
+      {
+         if ( cols[0] == 1 && rows[0] == 1 )
+         {
+            /** add a rigid area  */
+            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+            filled_cell_11 = true;
+         }
+      }
+
+      for( int index = 0; index < cols.length; index++ )
+      {
+         if ( cols[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+      }
+
+      for( int index = 0; index < rows.length; index++ )
+      {
+         if ( rows[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+      }
+
+   }
+
+   /**
+    * Helper method to load an image file from the CLASSPATH
+    * @param imageName the package and name of the file to load relative to the CLASSPATH
+    * @return an ImageIcon instance with the specified image file
+    * @throws IllegalArgumentException if the image resource cannot be loaded.
+    */
+   public ImageIcon loadImage( String imageName )
+   {
+      try
+      {
+         ClassLoader classloader = getClass().getClassLoader();
+         java.net.URL url = classloader.getResource( imageName );
+         if ( url != null )
+         {
+            ImageIcon icon = new ImageIcon( url );
+            return icon;
+         }
+      }
+      catch( Exception e )
+      {
+         e.printStackTrace();
+      }
+      throw new IllegalArgumentException( "Unable to load image: " + imageName );
+   }
+
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:3DLU:NONE,FILL:DEFAULT:NONE,FILL:3DLU:NONE,FILL:DEFAULT:NONE,FILL:3DLU:NONE,FILL:DEFAULT:NONE,FILL:3DLU:NONE,FILL:26PX:NONE,FILL:7DLU:NONE","CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:GROW(1.0),CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER [...]
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      _classpathField.setName("classpathField");
+      jpanel1.add(_classpathField,cc.xywh(4,11,7,1));
+
+      _classpathFieldLabel.setIcon(loadImage("images/asterix.gif"));
+      _classpathFieldLabel.setName("classpathFieldLabel");
+      _classpathFieldLabel.setText(Messages.getString("editClassPath"));
+      jpanel1.add(_classpathFieldLabel,cc.xy(2,11));
+
+      _classpathListLabel.setName("classpathListLabel");
+      _classpathListLabel.setText(Messages.getString("classPath"));
+      jpanel1.add(_classpathListLabel,cc.xy(2,6));
+
+      _classpathList.setName("classpathList");
+      JScrollPane jscrollpane1 = new JScrollPane();
+      jscrollpane1.setViewportView(_classpathList);
+      jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane1,cc.xywh(4,6,7,4));
+
+      _mainclassLabel.setIcon(loadImage("images/asterix.gif"));
+      _mainclassLabel.setName("mainclassLabel");
+      _mainclassLabel.setText(Messages.getString("mainClass"));
+      jpanel1.add(_mainclassLabel,cc.xy(2,4));
+
+      _mainclassField.setName("mainclassField");
+      jpanel1.add(_mainclassField,cc.xywh(4,4,7,1));
+
+      _acceptClasspathButton.setActionCommand("Add");
+      _acceptClasspathButton.setIcon(loadImage("images/ok16.png"));
+      _acceptClasspathButton.setName("acceptClasspathButton");
+      _acceptClasspathButton.setText(Messages.getString("accept"));
+      jpanel1.add(_acceptClasspathButton,cc.xy(8,13));
+
+      _removeClasspathButton.setActionCommand("Remove");
+      _removeClasspathButton.setIcon(loadImage("images/cancel16.png"));
+      _removeClasspathButton.setName("removeClasspathButton");
+      _removeClasspathButton.setText(Messages.getString("remove"));
+      jpanel1.add(_removeClasspathButton,cc.xy(10,13));
+
+      _importClasspathButton.setIcon(loadImage("images/open16.png"));
+      _importClasspathButton.setName("importClasspathButton");
+      _importClasspathButton.setToolTipText(Messages.getString("importClassPath"));
+      jpanel1.add(_importClasspathButton,cc.xy(12,4));
+
+      _classpathUpButton.setIcon(loadImage("images/up16.png"));
+      _classpathUpButton.setName("classpathUpButton");
+      jpanel1.add(_classpathUpButton,cc.xy(12,6));
+
+      _classpathDownButton.setIcon(loadImage("images/down16.png"));
+      _classpathDownButton.setName("classpathDownButton");
+      jpanel1.add(_classpathDownButton,cc.xy(12,8));
+
+      _classpathCheck.setActionCommand("Custom classpath");
+      _classpathCheck.setName("classpathCheck");
+      _classpathCheck.setText(Messages.getString("customClassPath"));
+      jpanel1.add(_classpathCheck,cc.xy(4,2));
+
+      _newClasspathButton.setActionCommand("New");
+      _newClasspathButton.setIcon(loadImage("images/new16.png"));
+      _newClasspathButton.setName("newClasspathButton");
+      _newClasspathButton.setText(Messages.getString("new"));
+      jpanel1.add(_newClasspathButton,cc.xy(6,13));
+
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13,14 });
+      return jpanel1;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/ClassPathForm.jfrm b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/ClassPathForm.jfrm
new file mode 100644
index 0000000..764329d
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/ClassPathForm.jfrm differ
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/ConfigForm.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/ConfigForm.java
new file mode 100644
index 0000000..dcb6c85
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/ConfigForm.java
@@ -0,0 +1,132 @@
+package net.sf.launch4j.form;
+
+import com.jeta.forms.components.separator.TitledSeparator;
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ImageIcon;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTabbedPane;
+import javax.swing.JTextArea;
+
+public abstract class ConfigForm extends JPanel
+{
+   protected final JTextArea _logTextArea = new JTextArea();
+   protected final TitledSeparator _logSeparator = new TitledSeparator();
+   protected final JTabbedPane _tab = new JTabbedPane();
+
+   /**
+    * Default constructor
+    */
+   public ConfigForm()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Adds fill components to empty cells in the first row and first column of the grid.
+    * This ensures that the grid spacing will be the same as shown in the designer.
+    * @param cols an array of column indices in the first row where fill components should be added.
+    * @param rows an array of row indices in the first column where fill components should be added.
+    */
+   void addFillComponents( Container panel, int[] cols, int[] rows )
+   {
+      Dimension filler = new Dimension(10,10);
+
+      boolean filled_cell_11 = false;
+      CellConstraints cc = new CellConstraints();
+      if ( cols.length > 0 && rows.length > 0 )
+      {
+         if ( cols[0] == 1 && rows[0] == 1 )
+         {
+            /** add a rigid area  */
+            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+            filled_cell_11 = true;
+         }
+      }
+
+      for( int index = 0; index < cols.length; index++ )
+      {
+         if ( cols[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+      }
+
+      for( int index = 0; index < rows.length; index++ )
+      {
+         if ( rows[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+      }
+
+   }
+
+   /**
+    * Helper method to load an image file from the CLASSPATH
+    * @param imageName the package and name of the file to load relative to the CLASSPATH
+    * @return an ImageIcon instance with the specified image file
+    * @throws IllegalArgumentException if the image resource cannot be loaded.
+    */
+   public ImageIcon loadImage( String imageName )
+   {
+      try
+      {
+         ClassLoader classloader = getClass().getClassLoader();
+         java.net.URL url = classloader.getResource( imageName );
+         if ( url != null )
+         {
+            ImageIcon icon = new ImageIcon( url );
+            return icon;
+         }
+      }
+      catch( Exception e )
+      {
+         e.printStackTrace();
+      }
+      throw new IllegalArgumentException( "Unable to load image: " + imageName );
+   }
+
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:7DLU:NONE","CENTER:3DLU:NONE,FILL:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:9DLU:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      _logTextArea.setName("logTextArea");
+      JScrollPane jscrollpane1 = new JScrollPane();
+      jscrollpane1.setViewportView(_logTextArea);
+      jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane1,cc.xy(2,6));
+
+      _logSeparator.setName("logSeparator");
+      _logSeparator.setText(Messages.getString("log"));
+      jpanel1.add(_logSeparator,cc.xy(2,4));
+
+      _tab.setName("tab");
+      jpanel1.add(_tab,cc.xywh(1,2,3,1));
+
+      addFillComponents(jpanel1,new int[]{ 1,2,3 },new int[]{ 1,3,4,5,6,7 });
+      return jpanel1;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/ConfigForm.jfrm b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/ConfigForm.jfrm
new file mode 100644
index 0000000..2c6721e
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/ConfigForm.jfrm differ
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/EnvironmentVarsForm.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/EnvironmentVarsForm.java
new file mode 100644
index 0000000..17e99fb
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/EnvironmentVarsForm.java
@@ -0,0 +1,127 @@
+package net.sf.launch4j.form;
+
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ImageIcon;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+
+public abstract class EnvironmentVarsForm extends JPanel
+{
+   protected final JTextArea _envVarsTextArea = new JTextArea();
+   protected final JLabel _envVarsLabel = new JLabel();
+
+   /**
+    * Default constructor
+    */
+   public EnvironmentVarsForm()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Adds fill components to empty cells in the first row and first column of the grid.
+    * This ensures that the grid spacing will be the same as shown in the designer.
+    * @param cols an array of column indices in the first row where fill components should be added.
+    * @param rows an array of row indices in the first column where fill components should be added.
+    */
+   void addFillComponents( Container panel, int[] cols, int[] rows )
+   {
+      Dimension filler = new Dimension(10,10);
+
+      boolean filled_cell_11 = false;
+      CellConstraints cc = new CellConstraints();
+      if ( cols.length > 0 && rows.length > 0 )
+      {
+         if ( cols[0] == 1 && rows[0] == 1 )
+         {
+            /** add a rigid area  */
+            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+            filled_cell_11 = true;
+         }
+      }
+
+      for( int index = 0; index < cols.length; index++ )
+      {
+         if ( cols[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+      }
+
+      for( int index = 0; index < rows.length; index++ )
+      {
+         if ( rows[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+      }
+
+   }
+
+   /**
+    * Helper method to load an image file from the CLASSPATH
+    * @param imageName the package and name of the file to load relative to the CLASSPATH
+    * @return an ImageIcon instance with the specified image file
+    * @throws IllegalArgumentException if the image resource cannot be loaded.
+    */
+   public ImageIcon loadImage( String imageName )
+   {
+      try
+      {
+         ClassLoader classloader = getClass().getClassLoader();
+         java.net.URL url = classloader.getResource( imageName );
+         if ( url != null )
+         {
+            ImageIcon icon = new ImageIcon( url );
+            return icon;
+         }
+      }
+      catch( Exception e )
+      {
+         e.printStackTrace();
+      }
+      throw new IllegalArgumentException( "Unable to load image: " + imageName );
+   }
+
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:7DLU:NONE","CENTER:9DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:9DLU:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      _envVarsTextArea.setName("envVarsTextArea");
+      JScrollPane jscrollpane1 = new JScrollPane();
+      jscrollpane1.setViewportView(_envVarsTextArea);
+      jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane1,cc.xy(4,2));
+
+      _envVarsLabel.setName("envVarsLabel");
+      _envVarsLabel.setText(Messages.getString("setVariables"));
+      jpanel1.add(_envVarsLabel,new CellConstraints(2,2,1,1,CellConstraints.DEFAULT,CellConstraints.TOP));
+
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5 },new int[]{ 1,2,3 });
+      return jpanel1;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/EnvironmentVarsForm.jfrm b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/EnvironmentVarsForm.jfrm
new file mode 100644
index 0000000..6e89ec4
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/EnvironmentVarsForm.jfrm differ
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/HeaderForm.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/HeaderForm.java
new file mode 100644
index 0000000..ef5dac4
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/HeaderForm.java
@@ -0,0 +1,171 @@
+package net.sf.launch4j.form;
+
+import com.jeta.forms.components.separator.TitledSeparator;
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ButtonGroup;
+import javax.swing.ImageIcon;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+
+public abstract class HeaderForm extends JPanel
+{
+   protected final JLabel _headerTypeLabel = new JLabel();
+   protected final JRadioButton _guiHeaderRadio = new JRadioButton();
+   protected final ButtonGroup _headerButtonGroup = new ButtonGroup();
+   protected final JRadioButton _consoleHeaderRadio = new JRadioButton();
+   protected final JTextArea _headerObjectsTextArea = new JTextArea();
+   protected final JTextArea _libsTextArea = new JTextArea();
+   protected final JCheckBox _headerObjectsCheck = new JCheckBox();
+   protected final JCheckBox _libsCheck = new JCheckBox();
+   protected final TitledSeparator _linkerOptionsSeparator = new TitledSeparator();
+
+   /**
+    * Default constructor
+    */
+   public HeaderForm()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Adds fill components to empty cells in the first row and first column of the grid.
+    * This ensures that the grid spacing will be the same as shown in the designer.
+    * @param cols an array of column indices in the first row where fill components should be added.
+    * @param rows an array of row indices in the first column where fill components should be added.
+    */
+   void addFillComponents( Container panel, int[] cols, int[] rows )
+   {
+      Dimension filler = new Dimension(10,10);
+
+      boolean filled_cell_11 = false;
+      CellConstraints cc = new CellConstraints();
+      if ( cols.length > 0 && rows.length > 0 )
+      {
+         if ( cols[0] == 1 && rows[0] == 1 )
+         {
+            /** add a rigid area  */
+            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+            filled_cell_11 = true;
+         }
+      }
+
+      for( int index = 0; index < cols.length; index++ )
+      {
+         if ( cols[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+      }
+
+      for( int index = 0; index < rows.length; index++ )
+      {
+         if ( rows[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+      }
+
+   }
+
+   /**
+    * Helper method to load an image file from the CLASSPATH
+    * @param imageName the package and name of the file to load relative to the CLASSPATH
+    * @return an ImageIcon instance with the specified image file
+    * @throws IllegalArgumentException if the image resource cannot be loaded.
+    */
+   public ImageIcon loadImage( String imageName )
+   {
+      try
+      {
+         ClassLoader classloader = getClass().getClassLoader();
+         java.net.URL url = classloader.getResource( imageName );
+         if ( url != null )
+         {
+            ImageIcon icon = new ImageIcon( url );
+            return icon;
+         }
+      }
+      catch( Exception e )
+      {
+         e.printStackTrace();
+      }
+      throw new IllegalArgumentException( "Unable to load image: " + imageName );
+   }
+
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:DEFAULT:NONE,FILL:7DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:7DLU:NONE","CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,FILL:DEFAULT:GROW(0.2),CENTER:3DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:9DLU:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      _headerTypeLabel.setName("headerTypeLabel");
+      _headerTypeLabel.setText(Messages.getString("headerType"));
+      jpanel1.add(_headerTypeLabel,cc.xy(2,2));
+
+      _guiHeaderRadio.setActionCommand("GUI");
+      _guiHeaderRadio.setName("guiHeaderRadio");
+      _guiHeaderRadio.setText(Messages.getString("gui"));
+      _headerButtonGroup.add(_guiHeaderRadio);
+      jpanel1.add(_guiHeaderRadio,cc.xy(4,2));
+
+      _consoleHeaderRadio.setActionCommand("Console");
+      _consoleHeaderRadio.setName("consoleHeaderRadio");
+      _consoleHeaderRadio.setText(Messages.getString("console"));
+      _headerButtonGroup.add(_consoleHeaderRadio);
+      jpanel1.add(_consoleHeaderRadio,cc.xy(6,2));
+
+      _headerObjectsTextArea.setName("headerObjectsTextArea");
+      JScrollPane jscrollpane1 = new JScrollPane();
+      jscrollpane1.setViewportView(_headerObjectsTextArea);
+      jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane1,cc.xywh(4,6,4,1));
+
+      _libsTextArea.setName("libsTextArea");
+      JScrollPane jscrollpane2 = new JScrollPane();
+      jscrollpane2.setViewportView(_libsTextArea);
+      jscrollpane2.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane2.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane2,cc.xywh(4,8,4,1));
+
+      _headerObjectsCheck.setActionCommand("Object files");
+      _headerObjectsCheck.setName("headerObjectsCheck");
+      _headerObjectsCheck.setText(Messages.getString("objectFiles"));
+      jpanel1.add(_headerObjectsCheck,new CellConstraints(2,6,1,1,CellConstraints.DEFAULT,CellConstraints.TOP));
+
+      _libsCheck.setActionCommand("w32api");
+      _libsCheck.setName("libsCheck");
+      _libsCheck.setText(Messages.getString("libs"));
+      jpanel1.add(_libsCheck,new CellConstraints(2,8,1,1,CellConstraints.DEFAULT,CellConstraints.TOP));
+
+      _linkerOptionsSeparator.setName("linkerOptionsSeparator");
+      _linkerOptionsSeparator.setText(Messages.getString("linkerOptions"));
+      jpanel1.add(_linkerOptionsSeparator,cc.xywh(2,4,6,1));
+
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6,7,8 },new int[]{ 1,2,3,4,5,6,7,8,9 });
+      return jpanel1;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/HeaderForm.jfrm b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/HeaderForm.jfrm
new file mode 100644
index 0000000..a7cbed1
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/HeaderForm.jfrm differ
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/JreForm.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/JreForm.java
new file mode 100644
index 0000000..979b81c
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/JreForm.java
@@ -0,0 +1,307 @@
+package net.sf.launch4j.form;
+
+import com.jeta.forms.components.separator.TitledSeparator;
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+
+public abstract class JreForm extends JPanel
+{
+   protected final JLabel _jrePathLabel = new JLabel();
+   protected final JLabel _jreMinLabel = new JLabel();
+   protected final JLabel _jreMaxLabel = new JLabel();
+   protected final JLabel _jvmOptionsTextLabel = new JLabel();
+   protected final JTextField _jreMinField = new JTextField();
+   protected final JTextField _jreMaxField = new JTextField();
+   protected final JTextArea _jvmOptionsTextArea = new JTextArea();
+   protected final JLabel _initialHeapSizeLabel = new JLabel();
+   protected final JLabel _maxHeapSizeLabel = new JLabel();
+   protected final JTextField _initialHeapSizeField = new JTextField();
+   protected final JTextField _maxHeapSizeField = new JTextField();
+   protected final JTextField _maxHeapPercentField = new JTextField();
+   protected final JTextField _initialHeapPercentField = new JTextField();
+   protected final JComboBox _jdkPreferenceCombo = new JComboBox();
+   protected final JComboBox _runtimeBitsCombo = new JComboBox();
+   protected final JComboBox _varCombo = new JComboBox();
+   protected final JButton _propertyButton = new JButton();
+   protected final JButton _optionButton = new JButton();
+   protected final JButton _envPropertyButton = new JButton();
+   protected final JButton _envOptionButton = new JButton();
+   protected final JTextField _envVarField = new JTextField();
+   protected final JTextField _jrePathField = new JTextField();
+   protected final JCheckBox _bundledJre64BitCheck = new JCheckBox();
+   protected final JCheckBox _bundledJreAsFallbackCheck = new JCheckBox();
+
+   /**
+    * Default constructor
+    */
+   public JreForm()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Adds fill components to empty cells in the first row and first column of the grid.
+    * This ensures that the grid spacing will be the same as shown in the designer.
+    * @param cols an array of column indices in the first row where fill components should be added.
+    * @param rows an array of row indices in the first column where fill components should be added.
+    */
+   void addFillComponents( Container panel, int[] cols, int[] rows )
+   {
+      Dimension filler = new Dimension(10,10);
+
+      boolean filled_cell_11 = false;
+      CellConstraints cc = new CellConstraints();
+      if ( cols.length > 0 && rows.length > 0 )
+      {
+         if ( cols[0] == 1 && rows[0] == 1 )
+         {
+            /** add a rigid area  */
+            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+            filled_cell_11 = true;
+         }
+      }
+
+      for( int index = 0; index < cols.length; index++ )
+      {
+         if ( cols[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+      }
+
+      for( int index = 0; index < rows.length; index++ )
+      {
+         if ( rows[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+      }
+
+   }
+
+   /**
+    * Helper method to load an image file from the CLASSPATH
+    * @param imageName the package and name of the file to load relative to the CLASSPATH
+    * @return an ImageIcon instance with the specified image file
+    * @throws IllegalArgumentException if the image resource cannot be loaded.
+    */
+   public ImageIcon loadImage( String imageName )
+   {
+      try
+      {
+         ClassLoader classloader = getClass().getClassLoader();
+         java.net.URL url = classloader.getResource( imageName );
+         if ( url != null )
+         {
+            ImageIcon icon = new ImageIcon( url );
+            return icon;
+         }
+      }
+      catch( Exception e )
+      {
+         e.printStackTrace();
+      }
+      throw new IllegalArgumentException( "Unable to load image: " + imageName );
+   }
+
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:60DLU:NONE,FILL:3DLU:NONE,FILL:DEFAULT:NONE,FILL:7DLU:NONE,FILL:60DLU:NONE,FILL:3DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:7DLU:NONE","CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFA [...]
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      _jrePathLabel.setName("jrePathLabel");
+      _jrePathLabel.setText(Messages.getString("jrePath"));
+      jpanel1.add(_jrePathLabel,cc.xy(2,2));
+
+      _jreMinLabel.setName("jreMinLabel");
+      _jreMinLabel.setText(Messages.getString("jreMin"));
+      jpanel1.add(_jreMinLabel,cc.xy(2,6));
+
+      _jreMaxLabel.setName("jreMaxLabel");
+      _jreMaxLabel.setText(Messages.getString("jreMax"));
+      jpanel1.add(_jreMaxLabel,cc.xy(2,8));
+
+      _jvmOptionsTextLabel.setName("jvmOptionsTextLabel");
+      _jvmOptionsTextLabel.setText(Messages.getString("jvmOptions"));
+      jpanel1.add(_jvmOptionsTextLabel,new CellConstraints(2,16,1,1,CellConstraints.DEFAULT,CellConstraints.TOP));
+
+      _jreMinField.setName("jreMinField");
+      jpanel1.add(_jreMinField,cc.xy(4,6));
+
+      _jreMaxField.setName("jreMaxField");
+      jpanel1.add(_jreMaxField,cc.xy(4,8));
+
+      _jvmOptionsTextArea.setName("jvmOptionsTextArea");
+      _jvmOptionsTextArea.setToolTipText(Messages.getString("jvmOptionsTip"));
+      JScrollPane jscrollpane1 = new JScrollPane();
+      jscrollpane1.setViewportView(_jvmOptionsTextArea);
+      jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane1,cc.xywh(4,16,7,1));
+
+      _initialHeapSizeLabel.setName("initialHeapSizeLabel");
+      _initialHeapSizeLabel.setText(Messages.getString("initialHeapSize"));
+      jpanel1.add(_initialHeapSizeLabel,cc.xy(2,12));
+
+      _maxHeapSizeLabel.setName("maxHeapSizeLabel");
+      _maxHeapSizeLabel.setText(Messages.getString("maxHeapSize"));
+      jpanel1.add(_maxHeapSizeLabel,cc.xy(2,14));
+
+      JLabel jlabel1 = new JLabel();
+      jlabel1.setText("MB");
+      jpanel1.add(jlabel1,cc.xy(6,12));
+
+      JLabel jlabel2 = new JLabel();
+      jlabel2.setText("MB");
+      jpanel1.add(jlabel2,cc.xy(6,14));
+
+      _initialHeapSizeField.setName("initialHeapSizeField");
+      jpanel1.add(_initialHeapSizeField,cc.xy(4,12));
+
+      _maxHeapSizeField.setName("maxHeapSizeField");
+      jpanel1.add(_maxHeapSizeField,cc.xy(4,14));
+
+      _maxHeapPercentField.setName("maxHeapPercentField");
+      jpanel1.add(_maxHeapPercentField,cc.xy(8,14));
+
+      _initialHeapPercentField.setName("initialHeapPercentField");
+      jpanel1.add(_initialHeapPercentField,cc.xy(8,12));
+
+      _jdkPreferenceCombo.setName("jdkPreferenceCombo");
+      jpanel1.add(_jdkPreferenceCombo,cc.xywh(8,6,3,1));
+
+      JLabel jlabel3 = new JLabel();
+      jlabel3.setText(Messages.getString("availableMemory"));
+      jpanel1.add(jlabel3,cc.xy(10,12));
+
+      JLabel jlabel4 = new JLabel();
+      jlabel4.setText(Messages.getString("availableMemory"));
+      jpanel1.add(jlabel4,cc.xy(10,14));
+
+      _runtimeBitsCombo.setName("runtimeBitsCombo");
+      _runtimeBitsCombo.setToolTipText("");
+      jpanel1.add(_runtimeBitsCombo,cc.xywh(8,8,3,1));
+
+      jpanel1.add(createPanel1(),cc.xywh(2,18,9,1));
+      TitledSeparator titledseparator1 = new TitledSeparator();
+      titledseparator1.setText(Messages.getString("searchOptions"));
+      jpanel1.add(titledseparator1,cc.xywh(2,4,9,1));
+
+      TitledSeparator titledseparator2 = new TitledSeparator();
+      titledseparator2.setText(Messages.getString("options"));
+      jpanel1.add(titledseparator2,cc.xywh(2,10,9,1));
+
+      jpanel1.add(createPanel2(),cc.xywh(4,2,7,1));
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6,7,8,9,10,11 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 });
+      return jpanel1;
+   }
+
+   public JPanel createPanel1()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:3DLU:NONE,FILL:DEFAULT:NONE,FILL:3DLU:NONE,FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      _varCombo.setName("varCombo");
+      jpanel1.add(_varCombo,cc.xy(3,1));
+
+      _propertyButton.setActionCommand("Add");
+      _propertyButton.setIcon(loadImage("images/edit_add16.png"));
+      _propertyButton.setName("propertyButton");
+      _propertyButton.setText(Messages.getString("property"));
+      _propertyButton.setToolTipText(Messages.getString("propertyTip"));
+      jpanel1.add(_propertyButton,cc.xy(5,1));
+
+      _optionButton.setActionCommand("Add");
+      _optionButton.setIcon(loadImage("images/edit_add16.png"));
+      _optionButton.setName("optionButton");
+      _optionButton.setText(Messages.getString("option"));
+      _optionButton.setToolTipText(Messages.getString("optionTip"));
+      jpanel1.add(_optionButton,cc.xy(7,1));
+
+      _envPropertyButton.setActionCommand("Add");
+      _envPropertyButton.setIcon(loadImage("images/edit_add16.png"));
+      _envPropertyButton.setName("envPropertyButton");
+      _envPropertyButton.setText(Messages.getString("property"));
+      _envPropertyButton.setToolTipText(Messages.getString("propertyTip"));
+      jpanel1.add(_envPropertyButton,cc.xy(5,3));
+
+      JLabel jlabel1 = new JLabel();
+      jlabel1.setText(Messages.getString("varsAndRegistry"));
+      jpanel1.add(jlabel1,cc.xy(1,1));
+
+      JLabel jlabel2 = new JLabel();
+      jlabel2.setIcon(loadImage("images/asterix.gif"));
+      jlabel2.setText(Messages.getString("envVar"));
+      jpanel1.add(jlabel2,cc.xy(1,3));
+
+      _envOptionButton.setActionCommand("Add");
+      _envOptionButton.setIcon(loadImage("images/edit_add16.png"));
+      _envOptionButton.setName("envOptionButton");
+      _envOptionButton.setText(Messages.getString("option"));
+      _envOptionButton.setToolTipText(Messages.getString("optionTip"));
+      jpanel1.add(_envOptionButton,cc.xy(7,3));
+
+      _envVarField.setName("envVarField");
+      jpanel1.add(_envVarField,cc.xy(3,3));
+
+      addFillComponents(jpanel1,new int[]{ 2,4,6 },new int[]{ 2 });
+      return jpanel1;
+   }
+
+   public JPanel createPanel2()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:GROW(1.0),FILL:3DLU:NONE,FILL:DEFAULT:NONE,FILL:3DLU:NONE,FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      _jrePathField.setName("jrePathField");
+      _jrePathField.setToolTipText(Messages.getString("jrePathTip"));
+      jpanel1.add(_jrePathField,cc.xy(1,1));
+
+      _bundledJre64BitCheck.setActionCommand(Messages.getString("bundledJre64Bit"));
+      _bundledJre64BitCheck.setName("bundledJre64BitCheck");
+      _bundledJre64BitCheck.setText(Messages.getString("bundledJre64Bit"));
+      _bundledJre64BitCheck.setToolTipText(Messages.getString("bundledJre64BitTip"));
+      jpanel1.add(_bundledJre64BitCheck,cc.xy(3,1));
+
+      _bundledJreAsFallbackCheck.setActionCommand(Messages.getString("bundledJreAsFallback"));
+      _bundledJreAsFallbackCheck.setName("bundledJreAsFallbackCheck");
+      _bundledJreAsFallbackCheck.setText(Messages.getString("bundledJreAsFallback"));
+      _bundledJreAsFallbackCheck.setToolTipText(Messages.getString("bundledJreAsFallbackTip"));
+      jpanel1.add(_bundledJreAsFallbackCheck,cc.xy(5,1));
+
+      addFillComponents(jpanel1,new int[]{ 2,4 },new int[0]);
+      return jpanel1;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/JreForm.jfrm b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/JreForm.jfrm
new file mode 100644
index 0000000..ffb56c9
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/JreForm.jfrm differ
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/Messages.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/Messages.java
new file mode 100644
index 0000000..d995a22
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/Messages.java
@@ -0,0 +1,55 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+package net.sf.launch4j.form;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+class Messages {
+	private static final String BUNDLE_NAME = "net.sf.launch4j.form.messages";
+
+	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
+			.getBundle(BUNDLE_NAME);
+
+	private Messages() {
+	}
+
+	public static String getString(String key) {
+		try {
+			return RESOURCE_BUNDLE.getString(key);
+		} catch (MissingResourceException e) {
+			return '!' + key + '!';
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/MessagesForm.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/MessagesForm.java
new file mode 100644
index 0000000..f2e8723
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/MessagesForm.java
@@ -0,0 +1,183 @@
+package net.sf.launch4j.form;
+
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ImageIcon;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+
+public abstract class MessagesForm extends JPanel
+{
+   protected final JTextArea _startupErrTextArea = new JTextArea();
+   protected final JTextArea _bundledJreErrTextArea = new JTextArea();
+   protected final JTextArea _jreVersionErrTextArea = new JTextArea();
+   protected final JTextArea _launcherErrTextArea = new JTextArea();
+   protected final JCheckBox _messagesCheck = new JCheckBox();
+   protected final JTextArea _instanceAlreadyExistsMsgTextArea = new JTextArea();
+
+   /**
+    * Default constructor
+    */
+   public MessagesForm()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Adds fill components to empty cells in the first row and first column of the grid.
+    * This ensures that the grid spacing will be the same as shown in the designer.
+    * @param cols an array of column indices in the first row where fill components should be added.
+    * @param rows an array of row indices in the first column where fill components should be added.
+    */
+   void addFillComponents( Container panel, int[] cols, int[] rows )
+   {
+      Dimension filler = new Dimension(10,10);
+
+      boolean filled_cell_11 = false;
+      CellConstraints cc = new CellConstraints();
+      if ( cols.length > 0 && rows.length > 0 )
+      {
+         if ( cols[0] == 1 && rows[0] == 1 )
+         {
+            /** add a rigid area  */
+            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+            filled_cell_11 = true;
+         }
+      }
+
+      for( int index = 0; index < cols.length; index++ )
+      {
+         if ( cols[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+      }
+
+      for( int index = 0; index < rows.length; index++ )
+      {
+         if ( rows[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+      }
+
+   }
+
+   /**
+    * Helper method to load an image file from the CLASSPATH
+    * @param imageName the package and name of the file to load relative to the CLASSPATH
+    * @return an ImageIcon instance with the specified image file
+    * @throws IllegalArgumentException if the image resource cannot be loaded.
+    */
+   public ImageIcon loadImage( String imageName )
+   {
+      try
+      {
+         ClassLoader classloader = getClass().getClassLoader();
+         java.net.URL url = classloader.getResource( imageName );
+         if ( url != null )
+         {
+            ImageIcon icon = new ImageIcon( url );
+            return icon;
+         }
+      }
+      catch( Exception e )
+      {
+         e.printStackTrace();
+      }
+      throw new IllegalArgumentException( "Unable to load image: " + imageName );
+   }
+
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:7DLU:NONE","CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:3DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:3DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:3DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:3DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:9DLU:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      _startupErrTextArea.setName("startupErrTextArea");
+      JScrollPane jscrollpane1 = new JScrollPane();
+      jscrollpane1.setViewportView(_startupErrTextArea);
+      jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane1,cc.xy(4,4));
+
+      _bundledJreErrTextArea.setName("bundledJreErrTextArea");
+      JScrollPane jscrollpane2 = new JScrollPane();
+      jscrollpane2.setViewportView(_bundledJreErrTextArea);
+      jscrollpane2.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane2.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane2,cc.xy(4,6));
+
+      _jreVersionErrTextArea.setName("jreVersionErrTextArea");
+      _jreVersionErrTextArea.setToolTipText(Messages.getString("jreVersionErrTip"));
+      JScrollPane jscrollpane3 = new JScrollPane();
+      jscrollpane3.setViewportView(_jreVersionErrTextArea);
+      jscrollpane3.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane3.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane3,cc.xy(4,8));
+
+      _launcherErrTextArea.setName("launcherErrTextArea");
+      JScrollPane jscrollpane4 = new JScrollPane();
+      jscrollpane4.setViewportView(_launcherErrTextArea);
+      jscrollpane4.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane4.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane4,cc.xy(4,10));
+
+      JLabel jlabel1 = new JLabel();
+      jlabel1.setText(Messages.getString("startupErr"));
+      jpanel1.add(jlabel1,new CellConstraints(2,4,1,1,CellConstraints.DEFAULT,CellConstraints.TOP));
+
+      JLabel jlabel2 = new JLabel();
+      jlabel2.setText(Messages.getString("bundledJreErr"));
+      jpanel1.add(jlabel2,new CellConstraints(2,6,1,1,CellConstraints.DEFAULT,CellConstraints.TOP));
+
+      JLabel jlabel3 = new JLabel();
+      jlabel3.setText(Messages.getString("jreVersionErr"));
+      jpanel1.add(jlabel3,new CellConstraints(2,8,1,1,CellConstraints.DEFAULT,CellConstraints.TOP));
+
+      JLabel jlabel4 = new JLabel();
+      jlabel4.setText(Messages.getString("launcherErr"));
+      jpanel1.add(jlabel4,new CellConstraints(2,10,1,1,CellConstraints.DEFAULT,CellConstraints.TOP));
+
+      _messagesCheck.setActionCommand("Add version information");
+      _messagesCheck.setName("messagesCheck");
+      _messagesCheck.setText(Messages.getString("addMessages"));
+      jpanel1.add(_messagesCheck,cc.xy(4,2));
+
+      JLabel jlabel5 = new JLabel();
+      jlabel5.setText(Messages.getString("instanceAlreadyExistsMsg"));
+      jpanel1.add(jlabel5,new CellConstraints(2,12,1,1,CellConstraints.DEFAULT,CellConstraints.TOP));
+
+      _instanceAlreadyExistsMsgTextArea.setName("instanceAlreadyExistsMsgTextArea");
+      _instanceAlreadyExistsMsgTextArea.setToolTipText(Messages.getString("instanceAlreadyExistsMsgTip"));
+      JScrollPane jscrollpane5 = new JScrollPane();
+      jscrollpane5.setViewportView(_instanceAlreadyExistsMsgTextArea);
+      jscrollpane5.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane5.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane5,cc.xy(4,12));
+
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13 });
+      return jpanel1;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/MessagesForm.jfrm b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/MessagesForm.jfrm
new file mode 100644
index 0000000..e8044df
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/MessagesForm.jfrm differ
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/SingleInstanceForm.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/SingleInstanceForm.java
new file mode 100644
index 0000000..2bfe724
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/SingleInstanceForm.java
@@ -0,0 +1,141 @@
+package net.sf.launch4j.form;
+
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ImageIcon;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+
+public abstract class SingleInstanceForm extends JPanel
+{
+   protected final JLabel _splashFileLabel = new JLabel();
+   protected final JTextField _mutexNameField = new JTextField();
+   protected final JCheckBox _singleInstanceCheck = new JCheckBox();
+   protected final JTextField _windowTitleField = new JTextField();
+   protected final JLabel _splashFileLabel1 = new JLabel();
+
+   /**
+    * Default constructor
+    */
+   public SingleInstanceForm()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Adds fill components to empty cells in the first row and first column of the grid.
+    * This ensures that the grid spacing will be the same as shown in the designer.
+    * @param cols an array of column indices in the first row where fill components should be added.
+    * @param rows an array of row indices in the first column where fill components should be added.
+    */
+   void addFillComponents( Container panel, int[] cols, int[] rows )
+   {
+      Dimension filler = new Dimension(10,10);
+
+      boolean filled_cell_11 = false;
+      CellConstraints cc = new CellConstraints();
+      if ( cols.length > 0 && rows.length > 0 )
+      {
+         if ( cols[0] == 1 && rows[0] == 1 )
+         {
+            /** add a rigid area  */
+            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+            filled_cell_11 = true;
+         }
+      }
+
+      for( int index = 0; index < cols.length; index++ )
+      {
+         if ( cols[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+      }
+
+      for( int index = 0; index < rows.length; index++ )
+      {
+         if ( rows[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+      }
+
+   }
+
+   /**
+    * Helper method to load an image file from the CLASSPATH
+    * @param imageName the package and name of the file to load relative to the CLASSPATH
+    * @return an ImageIcon instance with the specified image file
+    * @throws IllegalArgumentException if the image resource cannot be loaded.
+    */
+   public ImageIcon loadImage( String imageName )
+   {
+      try
+      {
+         ClassLoader classloader = getClass().getClassLoader();
+         java.net.URL url = classloader.getResource( imageName );
+         if ( url != null )
+         {
+            ImageIcon icon = new ImageIcon( url );
+            return icon;
+         }
+      }
+      catch( Exception e )
+      {
+         e.printStackTrace();
+      }
+      throw new IllegalArgumentException( "Unable to load image: " + imageName );
+   }
+
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:60DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:7DLU:NONE","CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:9DLU:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      _splashFileLabel.setIcon(loadImage("images/asterix.gif"));
+      _splashFileLabel.setName("splashFileLabel");
+      _splashFileLabel.setText(Messages.getString("mutexName"));
+      jpanel1.add(_splashFileLabel,cc.xy(2,4));
+
+      _mutexNameField.setName("mutexNameField");
+      _mutexNameField.setToolTipText(Messages.getString("mutexNameTip"));
+      jpanel1.add(_mutexNameField,cc.xywh(4,4,2,1));
+
+      _singleInstanceCheck.setActionCommand("Enable splash screen");
+      _singleInstanceCheck.setName("singleInstanceCheck");
+      _singleInstanceCheck.setText(Messages.getString("enableSingleInstance"));
+      jpanel1.add(_singleInstanceCheck,cc.xywh(4,2,2,1));
+
+      _windowTitleField.setName("windowTitleField");
+      _windowTitleField.setToolTipText(Messages.getString("windowTitleTip"));
+      jpanel1.add(_windowTitleField,cc.xywh(4,6,2,1));
+
+      _splashFileLabel1.setName("splashFileLabel");
+      _splashFileLabel1.setText(Messages.getString("windowTitle"));
+      jpanel1.add(_splashFileLabel1,cc.xy(2,6));
+
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6 },new int[]{ 1,2,3,4,5,6,7 });
+      return jpanel1;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/SingleInstanceForm.jfrm b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/SingleInstanceForm.jfrm
new file mode 100644
index 0000000..c9d7ce2
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/SingleInstanceForm.jfrm differ
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/SplashForm.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/SplashForm.java
new file mode 100644
index 0000000..7a3085a
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/SplashForm.java
@@ -0,0 +1,166 @@
+package net.sf.launch4j.form;
+
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+
+public abstract class SplashForm extends JPanel
+{
+   protected final JLabel _splashFileLabel = new JLabel();
+   protected final JLabel _waitForWindowLabel = new JLabel();
+   protected final JLabel _timeoutLabel = new JLabel();
+   protected final JCheckBox _timeoutErrCheck = new JCheckBox();
+   protected final JTextField _splashFileField = new JTextField();
+   protected final JTextField _timeoutField = new JTextField();
+   protected final JButton _splashFileButton = new JButton();
+   protected final JCheckBox _splashCheck = new JCheckBox();
+   protected final JCheckBox _waitForWindowCheck = new JCheckBox();
+
+   /**
+    * Default constructor
+    */
+   public SplashForm()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Adds fill components to empty cells in the first row and first column of the grid.
+    * This ensures that the grid spacing will be the same as shown in the designer.
+    * @param cols an array of column indices in the first row where fill components should be added.
+    * @param rows an array of row indices in the first column where fill components should be added.
+    */
+   void addFillComponents( Container panel, int[] cols, int[] rows )
+   {
+      Dimension filler = new Dimension(10,10);
+
+      boolean filled_cell_11 = false;
+      CellConstraints cc = new CellConstraints();
+      if ( cols.length > 0 && rows.length > 0 )
+      {
+         if ( cols[0] == 1 && rows[0] == 1 )
+         {
+            /** add a rigid area  */
+            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+            filled_cell_11 = true;
+         }
+      }
+
+      for( int index = 0; index < cols.length; index++ )
+      {
+         if ( cols[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+      }
+
+      for( int index = 0; index < rows.length; index++ )
+      {
+         if ( rows[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+      }
+
+   }
+
+   /**
+    * Helper method to load an image file from the CLASSPATH
+    * @param imageName the package and name of the file to load relative to the CLASSPATH
+    * @return an ImageIcon instance with the specified image file
+    * @throws IllegalArgumentException if the image resource cannot be loaded.
+    */
+   public ImageIcon loadImage( String imageName )
+   {
+      try
+      {
+         ClassLoader classloader = getClass().getClassLoader();
+         java.net.URL url = classloader.getResource( imageName );
+         if ( url != null )
+         {
+            ImageIcon icon = new ImageIcon( url );
+            return icon;
+         }
+      }
+      catch( Exception e )
+      {
+         e.printStackTrace();
+      }
+      throw new IllegalArgumentException( "Unable to load image: " + imageName );
+   }
+
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:60DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:3DLU:NONE,FILL:26PX:NONE,FILL:7DLU:NONE","CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:9DLU:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      _splashFileLabel.setIcon(loadImage("images/asterix.gif"));
+      _splashFileLabel.setName("splashFileLabel");
+      _splashFileLabel.setText(Messages.getString("splashFile"));
+      jpanel1.add(_splashFileLabel,cc.xy(2,4));
+
+      _waitForWindowLabel.setName("waitForWindowLabel");
+      _waitForWindowLabel.setText(Messages.getString("waitForWindow"));
+      jpanel1.add(_waitForWindowLabel,cc.xy(2,6));
+
+      _timeoutLabel.setIcon(loadImage("images/asterix.gif"));
+      _timeoutLabel.setName("timeoutLabel");
+      _timeoutLabel.setText(Messages.getString("timeout"));
+      jpanel1.add(_timeoutLabel,cc.xy(2,8));
+
+      _timeoutErrCheck.setActionCommand("Signal error on timeout");
+      _timeoutErrCheck.setName("timeoutErrCheck");
+      _timeoutErrCheck.setText(Messages.getString("timeoutErr"));
+      _timeoutErrCheck.setToolTipText(Messages.getString("timeoutErrTip"));
+      jpanel1.add(_timeoutErrCheck,cc.xywh(4,10,2,1));
+
+      _splashFileField.setName("splashFileField");
+      _splashFileField.setToolTipText(Messages.getString("splashFileTip"));
+      jpanel1.add(_splashFileField,cc.xywh(4,4,2,1));
+
+      _timeoutField.setName("timeoutField");
+      _timeoutField.setToolTipText(Messages.getString("timeoutTip"));
+      jpanel1.add(_timeoutField,cc.xy(4,8));
+
+      _splashFileButton.setIcon(loadImage("images/open16.png"));
+      _splashFileButton.setName("splashFileButton");
+      jpanel1.add(_splashFileButton,cc.xy(7,4));
+
+      _splashCheck.setActionCommand("Enable splash screen");
+      _splashCheck.setName("splashCheck");
+      _splashCheck.setText(Messages.getString("enableSplash"));
+      jpanel1.add(_splashCheck,cc.xywh(4,2,2,1));
+
+      _waitForWindowCheck.setActionCommand("Close splash screen when an application window appears");
+      _waitForWindowCheck.setName("waitForWindowCheck");
+      _waitForWindowCheck.setText(Messages.getString("waitForWindowText"));
+      jpanel1.add(_waitForWindowCheck,cc.xywh(4,6,2,1));
+
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6,7,8 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11 });
+      return jpanel1;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/SplashForm.jfrm b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/SplashForm.jfrm
new file mode 100644
index 0000000..114f0e3
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/SplashForm.jfrm differ
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/VersionInfoForm.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/VersionInfoForm.java
new file mode 100644
index 0000000..f1f3c7e
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/VersionInfoForm.java
@@ -0,0 +1,232 @@
+package net.sf.launch4j.form;
+
+import com.jeta.forms.components.separator.TitledSeparator;
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ImageIcon;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+
+public abstract class VersionInfoForm extends JPanel
+{
+   protected final JCheckBox _versionInfoCheck = new JCheckBox();
+   protected final JLabel _fileVersionLabel = new JLabel();
+   protected final JTextField _fileVersionField = new JTextField();
+   protected final TitledSeparator _addVersionInfoSeparator = new TitledSeparator();
+   protected final JLabel _productVersionLabel = new JLabel();
+   protected final JTextField _productVersionField = new JTextField();
+   protected final JLabel _fileDescriptionLabel = new JLabel();
+   protected final JTextField _fileDescriptionField = new JTextField();
+   protected final JLabel _copyrightLabel = new JLabel();
+   protected final JTextField _copyrightField = new JTextField();
+   protected final JLabel _txtFileVersionLabel = new JLabel();
+   protected final JTextField _txtFileVersionField = new JTextField();
+   protected final JLabel _txtProductVersionLabel = new JLabel();
+   protected final JTextField _txtProductVersionField = new JTextField();
+   protected final JLabel _productNameLabel = new JLabel();
+   protected final JTextField _productNameField = new JTextField();
+   protected final JLabel _originalFilenameLabel = new JLabel();
+   protected final JTextField _originalFilenameField = new JTextField();
+   protected final JLabel _internalNameLabel = new JLabel();
+   protected final JTextField _internalNameField = new JTextField();
+   protected final JLabel _companyNameLabel = new JLabel();
+   protected final JTextField _companyNameField = new JTextField();
+
+   /**
+    * Default constructor
+    */
+   public VersionInfoForm()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Adds fill components to empty cells in the first row and first column of the grid.
+    * This ensures that the grid spacing will be the same as shown in the designer.
+    * @param cols an array of column indices in the first row where fill components should be added.
+    * @param rows an array of row indices in the first column where fill components should be added.
+    */
+   void addFillComponents( Container panel, int[] cols, int[] rows )
+   {
+      Dimension filler = new Dimension(10,10);
+
+      boolean filled_cell_11 = false;
+      CellConstraints cc = new CellConstraints();
+      if ( cols.length > 0 && rows.length > 0 )
+      {
+         if ( cols[0] == 1 && rows[0] == 1 )
+         {
+            /** add a rigid area  */
+            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+            filled_cell_11 = true;
+         }
+      }
+
+      for( int index = 0; index < cols.length; index++ )
+      {
+         if ( cols[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+      }
+
+      for( int index = 0; index < rows.length; index++ )
+      {
+         if ( rows[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+      }
+
+   }
+
+   /**
+    * Helper method to load an image file from the CLASSPATH
+    * @param imageName the package and name of the file to load relative to the CLASSPATH
+    * @return an ImageIcon instance with the specified image file
+    * @throws IllegalArgumentException if the image resource cannot be loaded.
+    */
+   public ImageIcon loadImage( String imageName )
+   {
+      try
+      {
+         ClassLoader classloader = getClass().getClassLoader();
+         java.net.URL url = classloader.getResource( imageName );
+         if ( url != null )
+         {
+            ImageIcon icon = new ImageIcon( url );
+            return icon;
+         }
+      }
+      catch( Exception e )
+      {
+         e.printStackTrace();
+      }
+      throw new IllegalArgumentException( "Unable to load image: " + imageName );
+   }
+
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:60DLU:NONE,FILL:7DLU:NONE,RIGHT:DEFAULT:NONE,FILL:3DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:7DLU:NONE","CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENT [...]
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      _versionInfoCheck.setActionCommand("Add version information");
+      _versionInfoCheck.setName("versionInfoCheck");
+      _versionInfoCheck.setText(Messages.getString("addVersionInfo"));
+      jpanel1.add(_versionInfoCheck,cc.xywh(4,2,5,1));
+
+      _fileVersionLabel.setIcon(loadImage("images/asterix.gif"));
+      _fileVersionLabel.setName("fileVersionLabel");
+      _fileVersionLabel.setText(Messages.getString("fileVersion"));
+      jpanel1.add(_fileVersionLabel,cc.xy(2,4));
+
+      _fileVersionField.setName("fileVersionField");
+      _fileVersionField.setToolTipText(Messages.getString("fileVersionTip"));
+      jpanel1.add(_fileVersionField,cc.xy(4,4));
+
+      _addVersionInfoSeparator.setName("addVersionInfoSeparator");
+      _addVersionInfoSeparator.setText("Additional information");
+      jpanel1.add(_addVersionInfoSeparator,cc.xywh(2,10,7,1));
+
+      _productVersionLabel.setIcon(loadImage("images/asterix.gif"));
+      _productVersionLabel.setName("productVersionLabel");
+      _productVersionLabel.setText(Messages.getString("productVersion"));
+      jpanel1.add(_productVersionLabel,cc.xy(2,12));
+
+      _productVersionField.setName("productVersionField");
+      _productVersionField.setToolTipText(Messages.getString("productVersionTip"));
+      jpanel1.add(_productVersionField,cc.xy(4,12));
+
+      _fileDescriptionLabel.setIcon(loadImage("images/asterix.gif"));
+      _fileDescriptionLabel.setName("fileDescriptionLabel");
+      _fileDescriptionLabel.setText(Messages.getString("fileDescription"));
+      jpanel1.add(_fileDescriptionLabel,cc.xy(2,6));
+
+      _fileDescriptionField.setName("fileDescriptionField");
+      _fileDescriptionField.setToolTipText(Messages.getString("fileDescriptionTip"));
+      jpanel1.add(_fileDescriptionField,cc.xywh(4,6,5,1));
+
+      _copyrightLabel.setIcon(loadImage("images/asterix.gif"));
+      _copyrightLabel.setName("copyrightLabel");
+      _copyrightLabel.setText(Messages.getString("copyright"));
+      jpanel1.add(_copyrightLabel,cc.xy(2,8));
+
+      _copyrightField.setName("copyrightField");
+      jpanel1.add(_copyrightField,cc.xywh(4,8,5,1));
+
+      _txtFileVersionLabel.setIcon(loadImage("images/asterix.gif"));
+      _txtFileVersionLabel.setName("txtFileVersionLabel");
+      _txtFileVersionLabel.setText(Messages.getString("txtFileVersion"));
+      jpanel1.add(_txtFileVersionLabel,cc.xy(6,4));
+
+      _txtFileVersionField.setName("txtFileVersionField");
+      _txtFileVersionField.setToolTipText(Messages.getString("txtFileVersionTip"));
+      jpanel1.add(_txtFileVersionField,cc.xy(8,4));
+
+      _txtProductVersionLabel.setIcon(loadImage("images/asterix.gif"));
+      _txtProductVersionLabel.setName("txtProductVersionLabel");
+      _txtProductVersionLabel.setText(Messages.getString("txtProductVersion"));
+      jpanel1.add(_txtProductVersionLabel,cc.xy(6,12));
+
+      _txtProductVersionField.setName("txtProductVersionField");
+      _txtProductVersionField.setToolTipText(Messages.getString("txtProductVersionTip"));
+      jpanel1.add(_txtProductVersionField,cc.xy(8,12));
+
+      _productNameLabel.setIcon(loadImage("images/asterix.gif"));
+      _productNameLabel.setName("productNameLabel");
+      _productNameLabel.setText(Messages.getString("productName"));
+      jpanel1.add(_productNameLabel,cc.xy(2,14));
+
+      _productNameField.setName("productNameField");
+      jpanel1.add(_productNameField,cc.xywh(4,14,5,1));
+
+      _originalFilenameLabel.setIcon(loadImage("images/asterix.gif"));
+      _originalFilenameLabel.setName("originalFilenameLabel");
+      _originalFilenameLabel.setText(Messages.getString("originalFilename"));
+      jpanel1.add(_originalFilenameLabel,cc.xy(2,20));
+
+      _originalFilenameField.setName("originalFilenameField");
+      _originalFilenameField.setToolTipText(Messages.getString("originalFilenameTip"));
+      jpanel1.add(_originalFilenameField,cc.xywh(4,20,5,1));
+
+      _internalNameLabel.setIcon(loadImage("images/asterix.gif"));
+      _internalNameLabel.setName("internalNameLabel");
+      _internalNameLabel.setText(Messages.getString("internalName"));
+      jpanel1.add(_internalNameLabel,cc.xy(2,18));
+
+      _internalNameField.setName("internalNameField");
+      _internalNameField.setToolTipText(Messages.getString("internalNameTip"));
+      jpanel1.add(_internalNameField,cc.xywh(4,18,5,1));
+
+      _companyNameLabel.setName("companyNameLabel");
+      _companyNameLabel.setText(Messages.getString("companyName"));
+      jpanel1.add(_companyNameLabel,cc.xy(2,16));
+
+      _companyNameField.setName("companyNameField");
+      jpanel1.add(_companyNameField,cc.xywh(4,16,5,1));
+
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6,7,8,9 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 });
+      return jpanel1;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/VersionInfoForm.jfrm b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/VersionInfoForm.jfrm
new file mode 100644
index 0000000..32eb136
Binary files /dev/null and b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/VersionInfoForm.jfrm differ
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/messages.properties b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/messages.properties
new file mode 100644
index 0000000..ad4fb5b
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/messages.properties
@@ -0,0 +1,152 @@
+#
+#	Launch4j (http://launch4j.sourceforge.net/)
+#	Cross-platform Java application wrapper for creating Windows native executables.
+#
+#	Copyright (c) 2004, 2015 Grzegorz Kowal
+#	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+#
+
+log=Log
+
+outfile=Output file:
+outfileTip=Output executable file.
+stayAlive=Stay alive after launching a GUI application
+restartOnCrash=Restart the application after a crash
+restartOnCrashToolTip=When the application exits, any exit code other than 0 is considered a crash and the application will be started again
+manifest=Wrapper manifest:
+manifestTip=Wrapper manifest for User Account Control.
+icon=Icon:
+iconTip=Application icon.
+jar=Jar:
+jarTip=Application jar.
+dontWrapJar=Dont't wrap the jar, launch only
+cmdLine=Command line args:
+cmdLineTip=Constant command line arguments passed to the application.
+options=Options:
+chdir=Change dir:
+chdirTip=Change current directory to a location relative to the executable. Empty field has no effect, . - changes directory to the exe location.
+priority=Process priority:
+normalPriority=Normal
+idlePriority=Idle
+highPriority=High
+downloadAndSupport=Java download and support
+errorTitle=Error title:
+errorTitleTip=Launch4j signals errors using a message box, you can set it's title to the application's name.
+downloadUrl=Java download URL:
+supportUrl=Support URL:
+
+new=New
+accept=Accept
+remove=Remove
+customClassPath=Custom classpath
+classPath=Classpath:
+mainClass=Main class:
+editClassPath=Edit item:
+importClassPath=Import attributes from a jar's manifest.
+
+headerType=Header type:
+gui=GUI
+console=Console
+objectFiles=Object files:
+libs=w32api:
+linkerOptions=Custom header - linker options
+
+enableSingleInstance=Allow only a single instance of the application
+mutexName=Mutex name
+mutexNameTip=Mutex name that will uniquely identify your application.
+windowTitle=Window title
+windowTitleTip=Title of the GUI application window to bring up on attempt to start a next instance.
+
+jrePath=Bundled JRE path:
+jrePathTip=Bundled JRE path relative to the executable or absolute.
+bundledJre64Bit=64-bit
+bundledJre64BitTip=The bundled JRE is 64-bit, heap size will not be limited to the 32-bit maximum.
+bundledJreAsFallback=Fallback option
+bundledJreAsFallbackTip=When the fallback option is checked, the bundled JRE will be used only if the min/max search fails. By default the bundled JRE, if specified, is used as first.
+searchOptions=Search options
+options=Options
+jreMin=Min JRE version:
+jreMax=Max JRE version:
+dontUsePrivateJres=Don't use private JREs
+jvmOptions=JVM options:
+jvmOptionsTip=Accepts everything you would normally pass to java/javaw launcher: assertion options, system properties and X options.
+initialHeapSize=Initial heap size:
+maxHeapSize=Max heap size:
+availableMemory=% of available memory
+addVariables=Add variables:
+addVariablesTip=Add special variable or map environment variables to system properties.
+exeDirVarTip=Executable's runtime directory path.
+exeFileVarTip=Executable's runtime file path (directory and filename).
+varsAndRegistry=Variables / registry:
+envVar=Environment var:
+property=Property
+propertyTip=Map a variable to a system property.
+option=Option
+optionTip=Pass a JVM option using a variable.
+
+setVariables=Set variables:
+
+enableSplash=Enable splash screen
+splashFile=Splash file:
+splashFileTip=Splash screen file in BMP format.
+waitForWindow=Wait for window
+waitForWindowText=Close splash screen when an application window appears
+timeout=Timeout [s]:
+timeoutTip=Number of seconds after which the splash screen must close. Splash timeout may cause an error depending on splashTimeoutErr property.
+timeoutErr=Signal error on timeout
+timeoutErrTip=True signals an error on splash timeout, false closes the splash screen quietly.
+
+version=Version
+additionalInfo=Additional information
+addVersionInfo=Add version information
+fileVersion=File version:
+fileVersionTip=Version number 'x.x.x.x'
+productVersion=Product version:
+productVersionTip=Version number 'x.x.x.x'
+fileDescription=File description:
+fileDescriptionTip=File description presented to the user.
+copyright=Copyright:
+txtFileVersion=Free form:
+txtFileVersionTip=Free form file version, for example '1.20.RC1'.
+txtProductVersion=Free form:
+txtProductVersionTip=Free form product version, for example '1.20.RC1'.
+productName=Product name:
+originalFilename=Original filename:
+originalFilenameTip=Original name of the file without the path. Allows to determine whether a file has been renamed by a user.
+internalName=Internal name:
+internalNameTip=Internal name without extension, original filename or module name for example.
+companyName=Company name:
+
+addMessages=Add custom messages
+startupErr=Startup error:
+bundledJreErr=Bundled JRE error:
+jreVersionErr=JRE version error:
+jreVersionErrTip=Launch4j will append the required version number at the end of this message.
+launcherErr=Launcher error:
+instanceAlreadyExistsMsg=Inst. already exists:
+instanceAlreadyExistsMsgTip=Message displayed by single instance console applications if an instance already exists.
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/messages_es.properties b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/messages_es.properties
new file mode 100644
index 0000000..fa77e0f
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/form/messages_es.properties
@@ -0,0 +1,117 @@
+#
+#	Launch4j (http://launch4j.sourceforge.net/)
+#	Cross-platform Java application wrapper for creating Windows native executables.
+#
+#	Copyright (c) 2004, 2007 Grzegorz Kowal, Patricio Mart�nez Ros
+#	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+#
+
+log = Registro
+
+outfile = Fichero de salida
+outfileTip = Fichero ejecutable de salida.
+errorTitle = T\u00EDtulo de error
+errorTitleTip = Launch4j indica los errores usando una ventana de mensaje, usted puede ponerle el nombre de la aplicaci\u00F3n a esta ventana.
+stayAlive = Mantener abierto despu\u00E9s de lanzar una aplicaci\u00F3n GUI
+icon = Icono
+iconTip = Icono de la aplicaci\u00F3n.
+jar = Jar
+jarTip = Jar de la aplicaci\u00F3n.
+dontWrapJar = No empaquetar el jar, s\u00F3lo lanzar
+cmdLine = Argumentos del jar
+cmdLine = Argumentos de l\u00EDnea de \u00F3rdenes pasados a la aplicaci\u00F3n.
+options = Opciones
+chdir = Cambiar al directorio
+chdirTip = Cambia el directorio actual a la localizaci\u00F3n relativa al ejecutable. Si el campo se deja vac\u00EDo, no tiene efecto, . - cambia el directorio a la localizaci\u00F3n del exe.
+headerType = Tipo de cabecera
+gui = GUI
+console = Consola
+objectFiles = Ficheros objeto
+libs = w32api
+linkerOptions = Cabecera personalizada - opciones del enlazador
+jrePath = Ruta del JRE
+jrePathTip = Ruta relativa al ejecutable del JRE.
+jreMin = Versi\u00F3n m\u00EDnima del JRE
+jreMax = Versi\u00F3n m\u00E1xima del JRE
+jvmOptions = Argumentos de la JVM
+jvmOptionsTip = Acepta cualquier argumento que normalmente se le pasar\u00EDa al lanzador java/javaw\: opciones assertion, propiedades de sistema y opciones X.
+initialHeapSize = Tama\u00F1o inicial de la pila
+maxHeapSize = Tama\u00F1o m\u00E1ximo de la pila
+freeMemory=% of free memory
+addVariables = A\u00F1adir variables
+addVariablesTip = A\u00F1adir una variable especial o mapear variables de entorno a las propiedades del sistema.
+exeDirVarTip = Ruta del directorio del ejecutable.
+exeFileVarTip = Ruta del fichero ejecutable (directorio y nombre del fichero).
+other = Otra
+otherTip = Mapear una variable de entorno a una propiedad del sistema.
+otherVarTip = Variable de entorno que mapear.
+add = A\u00F1adir
+specifyVar = Especificar variable de entorno que a\u00F1adir.
+enableSplash = Activar pantalla de bienvenida
+splashFile = Imagen
+splashFileTip = Imagen en formato BMP para la pantalla de bienvenida.
+waitForWindow = Esperar la ventana
+waitForWindowText = Cerrar la pantalla de bienvenida cuando aparezca una ventana de la aplicaci\u00F3n
+timeout = Tiempo de espera [s]
+timeoutTip = Numero de segundos despu\u00E9s de los que la pantalla de bienvenida se debe cerrar. Esta propiedad puede causar provocar un error dependiendo de la propiedad splashTimeoutErr.
+timeoutErr = Se\u00F1al de error asociada al tiempo de espera
+timeoutErrTip = Marcado (true) se\u00F1ala un error despu\u00E9s del tiempo de espera de la pantalla de bienvenida, no marcado (false) cierra la pantalla de bienvenida silenciosamente
+addVersionInfo = A\u00F1ade informaci\u00F3n sobre la versi\u00F3n
+fileVersion = Versi\u00F3n del fichero
+fileVersionTip = N\u00FAmero de versi\u00F3n 'x.x.x.x'
+additionalInfo = Informaci\u00F3n adicional
+productVersion = Versi\u00F3n del producto
+productVersionTip = N\u00FAmero de versi\u00F3n 'x.x.x.x'
+fileDescription = Descripci\u00F3n del fichero
+fileDescriptionTip = Descripci\u00F3n del fichero que se le muestra al usuario.
+copyright = Copyright
+txtFileVersion = Forma libre
+txtFileVersionTip = Forma libre de versi\u00F3n, por ejemplo '1.20.RC1'.
+txtProductVersion = Forma libre
+txtProductVersionTip = Forma libre del producto, por ejemplo '1.20.RC1'.
+productName = Nombre del producto
+originalFilename = Nombre original del fichero
+originalFilenameTip = Nombre original del fichero sin la ruta. Permite determinar si un fichero ha sido renombrado por un usuario.
+internalName = Nombre interno
+internalNameTip = Nombre interno sin extensi\u00F3n, el nombre original del fichero o el m\u00F3dulo, por ejemplo.
+companyName = Nombre de la organizaci\u00F3n
+
+addMessages=Add custom messages
+startupErr=Startup error:
+bundledJreErr=Bundled JRE error:
+jreVersionErr=JRE version error:
+jreVersionErrTip=Launch4j will append the required version number at the end of this message.
+launcherErr=Launcher error:
+instanceAlreadyExistsMsg=Inst. already exists:
+instanceAlreadyExistsMsgTip=Message displayed by single instance console applications if an instance already exists.
+
+enableSingleInstance=Allow only a single instance of the application
+mutexName=Mutex name
+mutexNameTip=Mutex name that will uniquely identify your application.
+windowTitle=Window title
+windowTitleTip=Title of the application window to bring up on attempt to start a next instance.
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/AbstractAcceptListener.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/AbstractAcceptListener.java
new file mode 100644
index 0000000..cbf69d1
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/AbstractAcceptListener.java
@@ -0,0 +1,75 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 1, 2006
+ */
+package net.sf.launch4j.formimpl;
+
+import java.awt.Color;
+import java.awt.event.ActionListener;
+
+import javax.swing.JTextField;
+
+import net.sf.launch4j.binding.Binding;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public abstract class AbstractAcceptListener implements ActionListener {
+	final JTextField _field;
+
+	public AbstractAcceptListener(JTextField f, boolean listen) {
+		_field = f;
+		if (listen) {
+			_field.addActionListener(this);
+		}
+	}
+
+	protected String getText() {
+		return _field.getText();
+	}
+	
+	protected void clear() {
+		_field.setText("");
+		_field.requestFocusInWindow();
+	}
+
+	protected void signalViolation(String msg) {
+		final Color bg = _field.getBackground();
+		_field.setBackground(Binding.INVALID_COLOR);
+		MainFrame.getInstance().warn(msg);
+		_field.setBackground(bg);
+		_field.requestFocusInWindow();
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/BasicFormImpl.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/BasicFormImpl.java
new file mode 100644
index 0000000..6488aaf
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/BasicFormImpl.java
@@ -0,0 +1,101 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 1, 2006
+ */
+package net.sf.launch4j.formimpl;
+
+import javax.swing.JFileChooser;
+import javax.swing.JRadioButton;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+
+import net.sf.launch4j.FileChooserFilter;
+import net.sf.launch4j.binding.Bindings;
+import net.sf.launch4j.config.Config;
+import net.sf.launch4j.form.BasicForm;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class BasicFormImpl extends BasicForm {
+
+	public BasicFormImpl(Bindings bindings, JFileChooser fc) {
+		bindings.add("outfile", _outfileField)
+				.add("dontWrapJar", _dontWrapJarCheck)
+				.add("jar", _jarField)
+				.add("manifest", _manifestField)
+				.add("icon", _iconField)
+				.add("cmdLine", _cmdLineField)
+				.add("errTitle", _errorTitleField)
+				.add("downloadUrl", _downloadUrlField, Config.DOWNLOAD_URL)
+				.add("supportUrl", _supportUrlField)
+				.add("chdir", _chdirField, ".")
+				.add("priorityIndex", new JRadioButton[] { _normalPriorityRadio,
+															_idlePriorityRadio,
+															_highPriorityRadio })
+				.add("stayAlive", _stayAliveCheck)
+				.add("restartOnCrash", _restartOnCrashCheck);
+
+		_dontWrapJarCheck.addChangeListener(new DontWrapJarChangeListener());
+
+		_outfileButton.addActionListener(new BrowseActionListener(true, fc,
+				new FileChooserFilter("Windows executables (.exe)", ".exe"),
+				_outfileField));
+		_jarButton.addActionListener(new BrowseActionListener(false, fc,
+				new FileChooserFilter("Jar files", ".jar"), _jarField));
+		_manifestButton.addActionListener(new BrowseActionListener(false, fc,
+				new FileChooserFilter("Manifest files (.manifest)", ".manifest"),
+				_manifestField));
+		_iconButton.addActionListener(new BrowseActionListener(false, fc,
+				new FileChooserFilter("Icon files (.ico)", ".ico"), _iconField));
+	}
+
+	private class DontWrapJarChangeListener implements ChangeListener {
+
+		public void stateChanged(ChangeEvent e) {
+			boolean dontWrap = _dontWrapJarCheck.isSelected();
+			if (dontWrap)  {
+				_jarLabel.setIcon(loadImage("images/asterix-o.gif"));
+			    _jarLabel.setText(Messages.getString("jarPath"));
+			    _jarField.setToolTipText(Messages.getString("jarPathTip"));
+			} else {
+				_jarLabel.setIcon(loadImage("images/asterix.gif"));
+				_jarLabel.setText(Messages.getString("jar"));
+				_jarField.setToolTipText(Messages.getString("jarTip"));
+			}
+			_jarButton.setEnabled(!dontWrap);
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/BrowseActionListener.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/BrowseActionListener.java
new file mode 100644
index 0000000..103e954
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/BrowseActionListener.java
@@ -0,0 +1,79 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 1, 2006
+ */
+package net.sf.launch4j.formimpl;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+
+import javax.swing.JFileChooser;
+import javax.swing.JTextField;
+
+import net.sf.launch4j.FileChooserFilter;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class BrowseActionListener implements ActionListener {
+	private final boolean _save;
+	private final JFileChooser _fileChooser;
+	private final FileChooserFilter _filter;
+	private final JTextField _field;
+
+	public BrowseActionListener(boolean save, JFileChooser fileChooser,
+			FileChooserFilter filter, JTextField field) {
+		_save = save;
+		_fileChooser = fileChooser;
+		_filter = filter;
+		_field = field;
+	}
+
+	public void actionPerformed(ActionEvent e) {
+		if (!_field.isEnabled()) {
+			return;
+		}
+		_fileChooser.setFileFilter(_filter);
+		_fileChooser.setSelectedFile(new File(""));
+		int result = _save
+				? _fileChooser.showSaveDialog(MainFrame.getInstance())
+				: _fileChooser.showOpenDialog(MainFrame.getInstance());
+		if (result == JFileChooser.APPROVE_OPTION) {
+			_field.setText(_fileChooser.getSelectedFile().getPath());
+		}
+		_fileChooser.removeChoosableFileFilter(_filter);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/ClassPathFormImpl.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/ClassPathFormImpl.java
new file mode 100644
index 0000000..79c5074
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/ClassPathFormImpl.java
@@ -0,0 +1,222 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 1, 2006
+ */
+package net.sf.launch4j.formimpl;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import java.io.IOException;
+import java.util.jar.Attributes;
+import java.util.jar.JarFile;
+
+import javax.swing.DefaultListModel;
+import javax.swing.JFileChooser;
+import javax.swing.JTextField;
+import javax.swing.ListSelectionModel;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+
+import net.sf.launch4j.FileChooserFilter;
+import net.sf.launch4j.binding.Bindings;
+import net.sf.launch4j.binding.Validator;
+import net.sf.launch4j.config.ClassPath;
+import net.sf.launch4j.form.ClassPathForm;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class ClassPathFormImpl extends ClassPathForm {
+	private final JFileChooser _fileChooser;
+	private final FileChooserFilter _filter
+			= new FileChooserFilter("Executable jar", ".jar");
+
+	public ClassPathFormImpl(Bindings bindings, JFileChooser fc) {
+		bindings.addOptComponent("classPath", ClassPath.class, _classpathCheck)
+				.add("classPath.mainClass", _mainclassField)
+				.add("classPath.paths", _classpathList);
+		_fileChooser = fc;
+
+		ClasspathCheckListener cpl = new ClasspathCheckListener();
+		_classpathCheck.addChangeListener(cpl);
+		cpl.stateChanged(null);
+
+		_classpathList.setModel(new DefaultListModel());
+		_classpathList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
+		_classpathList.addListSelectionListener(new ClasspathSelectionListener());
+
+		_newClasspathButton.addActionListener(new NewClasspathListener());
+		_acceptClasspathButton.addActionListener(
+				new AcceptClasspathListener(_classpathField));
+		_removeClasspathButton.addActionListener(new RemoveClasspathListener());
+		_importClasspathButton.addActionListener(new ImportClasspathListener());
+		_classpathUpButton.addActionListener(new MoveUpListener());
+		_classpathDownButton.addActionListener(new MoveDownListener());
+	}
+
+	private class ClasspathCheckListener implements ChangeListener {
+		public void stateChanged(ChangeEvent e) {
+			boolean on = _classpathCheck.isSelected();
+			_importClasspathButton.setEnabled(on);
+			_classpathUpButton.setEnabled(on);
+			_classpathDownButton.setEnabled(on);
+			_classpathField.setEnabled(on);
+			_newClasspathButton.setEnabled(on);
+			_acceptClasspathButton.setEnabled(on);
+			_removeClasspathButton.setEnabled(on);
+		}
+	}
+
+	private class NewClasspathListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			_classpathList.clearSelection();
+			_classpathField.setText("");
+			_classpathField.requestFocusInWindow();
+		}
+	}
+
+	private class AcceptClasspathListener extends AbstractAcceptListener {
+		public AcceptClasspathListener(JTextField f) {
+			super(f, true);
+		}
+
+		public void actionPerformed(ActionEvent e) {
+			String cp = getText();
+			if (Validator.isEmpty(cp)) {
+				signalViolation(Messages.getString("specifyClassPath"));
+				return;
+			}
+			DefaultListModel model = (DefaultListModel) _classpathList.getModel();
+			if (_classpathList.isSelectionEmpty()) {
+				model.addElement(cp);
+				clear();
+			} else {
+				model.setElementAt(cp, _classpathList.getSelectedIndex());
+			}
+		}
+	}
+
+	private class ClasspathSelectionListener implements ListSelectionListener {
+		public void valueChanged(ListSelectionEvent e) {
+			if (e.getValueIsAdjusting()) {
+				return;
+			}
+			if (_classpathList.isSelectionEmpty()) {
+				_classpathField.setText("");
+			} else {
+				_classpathField.setText((String) _classpathList.getSelectedValue());
+			}
+			_classpathField.requestFocusInWindow();
+		}
+	}
+	
+	private class RemoveClasspathListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			if (_classpathList.isSelectionEmpty()
+					|| !MainFrame.getInstance().confirm(
+							Messages.getString("confirmClassPathRemoval"))) {
+				return;
+			}
+			DefaultListModel model = (DefaultListModel) _classpathList.getModel();
+			while (!_classpathList.isSelectionEmpty()) {
+				model.remove(_classpathList.getSelectedIndex());
+			}
+		}
+	}
+	
+	private class MoveUpListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			int x = _classpathList.getSelectedIndex();
+			if (x < 1) {
+				return;
+			}
+			DefaultListModel model = (DefaultListModel) _classpathList.getModel();
+			Object o = model.get(x - 1);
+			model.set(x - 1, model.get(x));
+			model.set(x, o);
+			_classpathList.setSelectedIndex(x - 1);
+		}
+	}
+	
+	private class MoveDownListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			DefaultListModel model = (DefaultListModel) _classpathList.getModel();
+			int x = _classpathList.getSelectedIndex();
+			if (x == -1 || x >= model.getSize() - 1) {
+				return;
+			}
+			Object o = model.get(x + 1);
+			model.set(x + 1, model.get(x));
+			model.set(x, o);
+			_classpathList.setSelectedIndex(x + 1);
+		}
+	}
+
+	private class ImportClasspathListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			try {
+				_fileChooser.setFileFilter(_filter);
+				_fileChooser.setSelectedFile(new File(""));
+				if (_fileChooser.showOpenDialog(MainFrame.getInstance())
+						== JFileChooser.APPROVE_OPTION) {
+					JarFile jar = new JarFile(_fileChooser.getSelectedFile());
+					if (jar.getManifest() == null) {
+						jar.close();
+						MainFrame.getInstance().info(Messages.getString("noManifest"));
+						return;
+					}
+					Attributes attr = jar.getManifest().getMainAttributes();
+					String mainClass = (String) attr.getValue("Main-Class");
+					String classPath = (String) attr.getValue("Class-Path");
+					jar.close();
+					_mainclassField.setText(mainClass != null ? mainClass : "");
+					DefaultListModel model = new DefaultListModel();
+					if (classPath != null) {
+						String[] paths = classPath.split(" ");
+						for (int i = 0; i < paths.length; i++) {
+							model.addElement(paths[i]);
+						}
+					}
+					_classpathList.setModel(model);
+				}
+			} catch (IOException ex) {
+				MainFrame.getInstance().warn(ex.getMessage());
+			}
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/ConfigFormImpl.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/ConfigFormImpl.java
new file mode 100644
index 0000000..f028d98
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/ConfigFormImpl.java
@@ -0,0 +1,100 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 10, 2005
+ */
+package net.sf.launch4j.formimpl;
+
+import javax.swing.BorderFactory;
+import javax.swing.JFileChooser;
+import javax.swing.JTextArea;
+
+import net.sf.launch4j.binding.Binding;
+import net.sf.launch4j.binding.Bindings;
+import net.sf.launch4j.binding.IValidatable;
+import net.sf.launch4j.form.ConfigForm;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class ConfigFormImpl extends ConfigForm {
+	private final Bindings _bindings = new Bindings();
+	private final JFileChooser _fileChooser = new FileChooser(ConfigFormImpl.class);
+
+	public ConfigFormImpl() {
+		_tab.setBorder(BorderFactory.createMatteBorder(0, -1, -1, -1, getBackground()));
+		_tab.addTab(Messages.getString("tab.basic"),
+				new BasicFormImpl(_bindings, _fileChooser));
+		_tab.addTab(Messages.getString("tab.classpath"),
+				new ClassPathFormImpl(_bindings, _fileChooser));
+		_tab.addTab(Messages.getString("tab.header"),
+				new HeaderFormImpl(_bindings));
+		_tab.addTab(Messages.getString("tab.singleInstance"),
+				new SingleInstanceFormImpl(_bindings));
+		_tab.addTab(Messages.getString("tab.jre"),
+				new JreFormImpl(_bindings, _fileChooser));
+		_tab.addTab(Messages.getString("tab.envVars"),
+				new EnvironmentVarsFormImpl(_bindings));
+		_tab.addTab(Messages.getString("tab.splash"),
+				new SplashFormImpl(_bindings, _fileChooser));
+		_tab.addTab(Messages.getString("tab.version"),
+				new VersionInfoFormImpl(_bindings, _fileChooser));
+		_tab.addTab(Messages.getString("tab.messages"),
+				new MessagesFormImpl(_bindings));
+	}
+
+	public void clear(IValidatable bean) {
+		_bindings.clear(bean);
+	}
+
+	public void put(IValidatable bean) {
+		_bindings.put(bean);
+	}
+
+	public void get(IValidatable bean) {
+		_bindings.get(bean);
+	}
+	
+	public boolean isModified() {
+		return _bindings.isModified();
+	}
+	
+	public JTextArea getLogTextArea() {
+		return _logTextArea;
+	}
+	
+	public Binding getBinding(String property) {
+		return _bindings.getBinding(property);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/EnvironmentVarsFormImpl.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/EnvironmentVarsFormImpl.java
new file mode 100644
index 0000000..e2fa1eb
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/EnvironmentVarsFormImpl.java
@@ -0,0 +1,50 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Jun 10, 2006
+ */
+package net.sf.launch4j.formimpl;
+
+import net.sf.launch4j.binding.Bindings;
+import net.sf.launch4j.form.EnvironmentVarsForm;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class EnvironmentVarsFormImpl extends EnvironmentVarsForm {
+
+	public EnvironmentVarsFormImpl(Bindings bindings) {
+		bindings.add("variables", _envVarsTextArea);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/FileChooser.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/FileChooser.java
new file mode 100644
index 0000000..6814a37
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/FileChooser.java
@@ -0,0 +1,66 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Jul 19, 2006
+ */
+package net.sf.launch4j.formimpl;
+
+import java.io.File;
+import java.util.prefs.Preferences;
+
+import javax.swing.JFileChooser;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class FileChooser extends JFileChooser {
+	private final Preferences _prefs;
+	private final String _key;
+
+	public FileChooser(Class<?> clazz) {
+		_prefs = Preferences.userNodeForPackage(clazz);
+		_key = "currentDir-"
+			+ clazz.getName().substring(clazz.getName().lastIndexOf('.') + 1);
+		String path = _prefs.get(_key, null);
+
+		if (path != null) {
+			setCurrentDirectory(new File(path));
+		}
+	}
+
+	public void approveSelection() {
+		_prefs.put(_key, getCurrentDirectory().getPath());
+		super.approveSelection();
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/GlassPane.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/GlassPane.java
new file mode 100644
index 0000000..4612674
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/GlassPane.java
@@ -0,0 +1,67 @@
+package net.sf.launch4j.formimpl;
+
+import java.awt.AWTEvent;
+import java.awt.Component;
+import java.awt.Cursor;
+import java.awt.Toolkit;
+import java.awt.Window;
+import java.awt.event.AWTEventListener;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseAdapter;
+
+import javax.swing.JComponent;
+import javax.swing.SwingUtilities;
+
+/**
+ * This is the glass pane class that intercepts screen interactions during
+ * system busy states.
+ * 
+ * Based on JavaWorld article by Yexin Chen.
+ */
+public class GlassPane extends JComponent implements AWTEventListener {
+	private final Window _window;
+
+	public GlassPane(Window w) {
+		_window = w;
+		addMouseListener(new MouseAdapter() {});
+		addKeyListener(new KeyAdapter() {});
+		setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+	}
+
+	/**
+	 * Receives all key events in the AWT and processes the ones that originated
+	 * from the current window with the glass pane.
+	 * 
+	 * @param event
+	 *            the AWTEvent that was fired
+	 */
+	public void eventDispatched(AWTEvent event) {
+		Object source = event.getSource();
+		if (event instanceof KeyEvent
+				&& source instanceof Component) {
+			/*
+			 * If the event originated from the window w/glass pane,
+			 * consume the event.
+			 */
+			if ((SwingUtilities.windowForComponent((Component) source) == _window)) {
+				((KeyEvent) event).consume();
+			}
+		}
+	}
+
+	/**
+	 * Sets the glass pane as visible or invisible. The mouse cursor will be set
+	 * accordingly.
+	 */
+	public void setVisible(boolean visible) {
+		if (visible) {
+			// Start receiving all events and consume them if necessary
+			Toolkit.getDefaultToolkit().addAWTEventListener(this, AWTEvent.KEY_EVENT_MASK);
+		} else {
+			// Stop receiving all events
+			Toolkit.getDefaultToolkit().removeAWTEventListener(this);
+		}
+		super.setVisible(visible);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/HeaderFormImpl.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/HeaderFormImpl.java
new file mode 100644
index 0000000..d4ca507
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/HeaderFormImpl.java
@@ -0,0 +1,102 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 1, 2006
+ */
+package net.sf.launch4j.formimpl;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JRadioButton;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+
+import net.sf.launch4j.binding.Binding;
+import net.sf.launch4j.binding.Bindings;
+import net.sf.launch4j.config.Config;
+import net.sf.launch4j.config.ConfigPersister;
+import net.sf.launch4j.form.HeaderForm;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class HeaderFormImpl extends HeaderForm {
+	private final Bindings _bindings;
+
+	public HeaderFormImpl(Bindings bindings) {
+		_bindings = bindings;
+		_bindings.add("headerTypeIndex", new JRadioButton[] { _guiHeaderRadio,
+														_consoleHeaderRadio })
+				.add("headerObjects", "customHeaderObjects", _headerObjectsCheck,
+															_headerObjectsTextArea)
+				.add("libs", "customLibs", _libsCheck, _libsTextArea);
+
+		_guiHeaderRadio.addChangeListener(new HeaderTypeChangeListener());
+		_headerObjectsCheck.addActionListener(new HeaderObjectsActionListener());
+		_libsCheck.addActionListener(new LibsActionListener());
+	}
+
+	private class HeaderTypeChangeListener implements ChangeListener {
+		public void stateChanged(ChangeEvent e) {
+			Config c = ConfigPersister.getInstance().getConfig();
+			c.setHeaderType(_guiHeaderRadio.isSelected() ? Config.GUI_HEADER
+														: Config.CONSOLE_HEADER);
+			if (!_headerObjectsCheck.isSelected()) {
+				Binding b = _bindings.getBinding("headerObjects");
+				b.put(c);
+			}
+		}
+	}
+
+	private class HeaderObjectsActionListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			if (!_headerObjectsCheck.isSelected()) {
+				ConfigPersister.getInstance().getConfig().setHeaderObjects(null);
+				Binding b = _bindings.getBinding("headerObjects");
+				b.put(ConfigPersister.getInstance().getConfig());
+			}
+		}
+	}
+
+	private class LibsActionListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			if (!_libsCheck.isSelected()) {
+				ConfigPersister.getInstance().getConfig().setLibs(null);
+				Binding b = _bindings.getBinding("libs");
+				b.put(ConfigPersister.getInstance().getConfig());
+			}
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/JreFormImpl.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/JreFormImpl.java
new file mode 100644
index 0000000..ad25442
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/JreFormImpl.java
@@ -0,0 +1,175 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 1, 2006
+ */
+package net.sf.launch4j.formimpl;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JFileChooser;
+import javax.swing.JTextField;
+
+import net.sf.launch4j.binding.Bindings;
+import net.sf.launch4j.binding.Validator;
+import net.sf.launch4j.form.JreForm;
+import net.sf.launch4j.config.Jre;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class JreFormImpl extends JreForm {
+
+	public JreFormImpl(Bindings bindings, JFileChooser fc) {
+		_jdkPreferenceCombo.setModel(new DefaultComboBoxModel(new String[] {
+				Messages.getString("jdkPreference.jre.only"),
+				Messages.getString("jdkPreference.prefer.jre"),
+				Messages.getString("jdkPreference.prefer.jdk"),
+				Messages.getString("jdkPreference.jdk.only")}));
+
+		_runtimeBitsCombo.setModel(new DefaultComboBoxModel(new String[] {
+				Messages.getString("runtimeBits.64"),
+				Messages.getString("runtimeBits.64And32"),
+				Messages.getString("runtimeBits.32And64"),
+				Messages.getString("runtimeBits.32")}));
+
+		bindings.add("jre.path", _jrePathField)
+				.add("jre.bundledJre64Bit", _bundledJre64BitCheck)
+				.add("jre.bundledJreAsFallback", _bundledJreAsFallbackCheck)
+				.add("jre.minVersion", _jreMinField)
+				.add("jre.maxVersion", _jreMaxField)
+				.add("jre.jdkPreferenceIndex", _jdkPreferenceCombo,	Jre.DEFAULT_JDK_PREFERENCE_INDEX)
+				.add("jre.runtimeBitsIndex", _runtimeBitsCombo, Jre.DEFAULT_JDK_PREFERENCE_INDEX)
+				.add("jre.initialHeapSize", _initialHeapSizeField)
+				.add("jre.initialHeapPercent", _initialHeapPercentField)
+				.add("jre.maxHeapSize", _maxHeapSizeField)
+				.add("jre.maxHeapPercent", _maxHeapPercentField)
+				.add("jre.options", _jvmOptionsTextArea);
+
+		_varCombo.setModel(new DefaultComboBoxModel(new String[] {
+				"EXEDIR", "EXEFILE", "PWD", "OLDPWD", "JREHOMEDIR",
+				"HKEY_CLASSES_ROOT", "HKEY_CURRENT_USER", "HKEY_LOCAL_MACHINE",
+				"HKEY_USERS", "HKEY_CURRENT_CONFIG" }));
+
+		_varCombo.addActionListener(new VarComboActionListener());
+		_varCombo.setSelectedIndex(0);
+
+		_propertyButton.addActionListener(new PropertyActionListener());
+		_optionButton.addActionListener(new OptionActionListener());
+
+		_envPropertyButton.addActionListener(new EnvPropertyActionListener(_envVarField));
+		_envOptionButton.addActionListener(new EnvOptionActionListener(_envVarField));
+	}
+
+	private class VarComboActionListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			_optionButton.setEnabled(((String) _varCombo.getSelectedItem())
+					.startsWith("HKEY_"));
+		}
+	}
+
+	private class PropertyActionListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			final int pos = _jvmOptionsTextArea.getCaretPosition();
+			final String var = (String) _varCombo.getSelectedItem();
+			if (var.startsWith("HKEY_")) {
+				_jvmOptionsTextArea.insert("-Dreg.key=\"%"
+						+ var + "\\...%\"\n", pos);
+			} else {
+				_jvmOptionsTextArea.insert("-Dlaunch4j." + var.toLowerCase()
+						+ "=\"%" + var + "%\"\n", pos);
+			}
+		}
+	}
+
+	private class OptionActionListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			final int pos = _jvmOptionsTextArea.getCaretPosition();
+			final String var = (String) _varCombo.getSelectedItem();
+			if (var.startsWith("HKEY_")) {
+				_jvmOptionsTextArea.insert("%" + var + "\\...%\n", pos);
+			} else {
+				_jvmOptionsTextArea.insert("%" + var + "%\n", pos);
+			}
+		}
+	}
+
+	private abstract class EnvActionListener extends AbstractAcceptListener {
+		public EnvActionListener(JTextField f, boolean listen) {
+			super(f, listen);
+		}
+
+		public void actionPerformed(ActionEvent e) {
+			final int pos = _jvmOptionsTextArea.getCaretPosition();
+			final String var = getText()
+					.replaceAll("\"", "")
+					.replaceAll("%", "");
+			if (Validator.isEmpty(var)) {
+				signalViolation(Messages.getString("specifyVar"));
+				return;
+			}
+			add(var, pos);
+			clear();
+		}
+
+		protected abstract void add(String var, int pos);
+	}
+
+	private class EnvPropertyActionListener extends EnvActionListener {
+		public EnvPropertyActionListener(JTextField f) {
+			super(f, true);
+		}
+
+		protected void add(String var, int pos) {
+			final String prop = var
+					.replaceAll(" ", ".")
+					.replaceAll("_", ".")
+					.toLowerCase();
+			_jvmOptionsTextArea.insert("-Denv." + prop + "=\"%" + var
+					+ "%\"\n", pos);
+		}
+	}
+
+	private class EnvOptionActionListener extends EnvActionListener {
+		public EnvOptionActionListener(JTextField f) {
+			super(f, false);
+		}
+
+		protected void add(String var, int pos) {
+			_jvmOptionsTextArea.insert("%" + var + "%\n", pos);	
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/MainFrame.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/MainFrame.java
new file mode 100644
index 0000000..a25dc7e
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/MainFrame.java
@@ -0,0 +1,360 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on 2005-05-09
+ */
+package net.sf.launch4j.formimpl;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.io.File;
+
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JFileChooser;
+import javax.swing.JFrame;
+import javax.swing.JOptionPane;
+import javax.swing.JToolBar;
+import javax.swing.UIManager;
+
+import com.jgoodies.looks.Options;
+import com.jgoodies.looks.plastic.PlasticXPLookAndFeel;
+import com.jgoodies.looks.windows.WindowsLookAndFeel;
+
+import foxtrot.Task;
+import foxtrot.Worker;
+import net.sf.launch4j.Builder;
+import net.sf.launch4j.BuilderException;
+import net.sf.launch4j.ExecException;
+import net.sf.launch4j.FileChooserFilter;
+import net.sf.launch4j.Log;
+import net.sf.launch4j.Main;
+import net.sf.launch4j.Util;
+import net.sf.launch4j.binding.Binding;
+import net.sf.launch4j.binding.BindingException;
+import net.sf.launch4j.binding.InvariantViolationException;
+import net.sf.launch4j.config.Config;
+import net.sf.launch4j.config.ConfigPersister;
+import net.sf.launch4j.config.ConfigPersisterException;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class MainFrame extends JFrame {
+	private static MainFrame _instance;
+
+	private final JToolBar _toolBar;
+	private final JButton _runButton;
+	private final ConfigFormImpl _configForm;
+	private final JFileChooser _fileChooser = new FileChooser(MainFrame.class);
+	private File _outfile;
+	private boolean _saved = false;
+
+	public static void createInstance() {
+		try {
+			Toolkit.getDefaultToolkit().setDynamicLayout(true);
+			System.setProperty("sun.awt.noerasebackground","true");
+	
+			// JGoodies
+			Options.setDefaultIconSize(new Dimension(16, 16));		// menu icons
+			Options.setUseNarrowButtons(false);
+			Options.setPopupDropShadowEnabled(true);
+
+			UIManager.setLookAndFeel(System.getProperty("os.name").toLowerCase().startsWith("windows")
+					? new WindowsLookAndFeel() : new PlasticXPLookAndFeel());
+
+			_instance = new MainFrame();
+		} catch (Exception e) {
+			System.err.println(e);
+		}
+	}
+
+	public static MainFrame getInstance() {
+		return _instance;
+	}
+
+	public MainFrame() {
+		showConfigName(null);
+		setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
+		addWindowListener(new MainFrameListener());
+		setGlassPane(new GlassPane(this));
+		_fileChooser.setFileFilter(new FileChooserFilter(
+				Messages.getString("MainFrame.config.files"),
+				new String[] {".xml", ".cfg"}));
+
+		_toolBar = new JToolBar();
+		_toolBar.setFloatable(false);
+		_toolBar.setRollover(true);
+		addButton("images/new.png",	Messages.getString("MainFrame.new.config"),
+				new NewActionListener());
+		addButton("images/open.png", Messages.getString("MainFrame.open.config"),
+				new OpenActionListener());
+		addButton("images/save.png", Messages.getString("MainFrame.save.config"),
+				new SaveActionListener());
+		_toolBar.addSeparator();
+		addButton("images/build.png", Messages.getString("MainFrame.build.wrapper"),
+				new BuildActionListener());
+		_runButton = addButton("images/run.png",
+				Messages.getString("MainFrame.test.wrapper"),
+				new RunActionListener());
+		setRunEnabled(false);
+		_toolBar.addSeparator();
+		addButton("images/info.png", Messages.getString("MainFrame.about.launch4j"),
+				new AboutActionListener());
+
+		_configForm = new ConfigFormImpl();
+		getContentPane().setLayout(new BorderLayout());
+		getContentPane().add(_toolBar, BorderLayout.NORTH);
+		getContentPane().add(_configForm, BorderLayout.CENTER);
+		pack();
+		Dimension scr = Toolkit.getDefaultToolkit().getScreenSize();
+		Dimension fr = getSize();
+		fr.width += 25;
+		fr.height += 100;
+		setBounds((scr.width - fr.width) / 2, (scr.height - fr.height) / 2,
+				fr.width, fr.height);
+		setVisible(true);
+	}
+
+	private JButton addButton(String iconPath, String tooltip, ActionListener l) {
+		ImageIcon icon = new ImageIcon(MainFrame.class.getClassLoader()
+				.getResource(iconPath));
+		JButton b = new JButton(icon);
+		b.setToolTipText(tooltip);
+		b.addActionListener(l);
+		_toolBar.add(b);
+		return b;
+	}
+	
+	public void info(String text) {
+		JOptionPane.showMessageDialog(this, 
+									text,
+									Main.getName(),
+									JOptionPane.INFORMATION_MESSAGE);
+	}
+
+	public void warn(String text) {
+		JOptionPane.showMessageDialog(this, 
+									text,
+									Main.getName(),
+									JOptionPane.WARNING_MESSAGE);
+	}
+
+	public void warn(InvariantViolationException e) {
+		Binding b = e.getBinding(); 
+		if (b != null) {
+			b.markInvalid();
+		}
+		warn(e.getMessage());
+		if (b != null) {
+			e.getBinding().markValid();
+		}
+	}
+
+	public boolean confirm(String text) {
+		return JOptionPane.showConfirmDialog(MainFrame.this,
+				text,
+				Messages.getString("MainFrame.confirm"),
+				JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION;
+	}
+
+	private boolean canDiscardChanges() {
+		return (!_configForm.isModified())
+				|| confirm(Messages.getString("MainFrame.discard.changes"));
+	}
+
+	private boolean save() {
+		try {
+			_configForm.get(ConfigPersister.getInstance().getConfig());
+			if (_fileChooser.showSaveDialog(MainFrame.this) == JOptionPane.YES_OPTION) {
+				File f = _fileChooser.getSelectedFile();
+				if (!f.getPath().endsWith(".xml")) {
+					f = new File(f.getPath() + ".xml");
+				}
+				ConfigPersister.getInstance().save(f);
+				_saved = true;
+				showConfigName(f);
+				return true;
+			}
+			return false;
+		} catch (InvariantViolationException ex) {
+			warn(ex);
+			return false;
+		} catch (BindingException ex) {
+			warn(ex.getMessage());
+			return false;
+		} catch (ConfigPersisterException ex) {
+			warn(ex.getMessage());
+			return false;
+		}
+	}
+
+	private void showConfigName(File config) {
+		setTitle(Main.getName() + " - " 	+ (config != null ? config.getName()
+						: Messages.getString("MainFrame.untitled")));
+	}
+
+	private void setRunEnabled(boolean enabled) {
+		if (!enabled) {
+			_outfile = null;
+		}
+		_runButton.setEnabled(enabled);
+	}
+
+	private void clearConfig() {
+		ConfigPersister.getInstance().createBlank();
+		_configForm.clear(ConfigPersister.getInstance().getConfig());
+	}
+
+	private class MainFrameListener extends WindowAdapter {
+		public void windowOpened(WindowEvent e) {
+			clearConfig();
+		}
+
+		public void windowClosing(WindowEvent e) {
+			if (canDiscardChanges()) {
+				dispose();
+				System.exit(0);
+			}
+		}
+	}
+
+	private class NewActionListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			if (canDiscardChanges()) {
+				clearConfig();
+				_saved = false;
+				showConfigName(null);
+				setRunEnabled(false);
+			}
+		}
+	}
+
+	private class OpenActionListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			try {
+				if (canDiscardChanges() && _fileChooser.showOpenDialog(MainFrame.this)
+									== JOptionPane.YES_OPTION) {
+					final File f = _fileChooser.getSelectedFile(); 
+					if (f.getPath().endsWith(".xml")) {
+						ConfigPersister.getInstance().load(f);	
+						_saved = true;
+					} else {
+						ConfigPersister.getInstance().loadVersion1(f);
+						_saved = false;
+					}
+					_configForm.put(ConfigPersister.getInstance().getConfig());
+					showConfigName(f);
+					setRunEnabled(false);
+				}
+			} catch (ConfigPersisterException ex) {
+				warn(ex.getMessage());
+			} catch (BindingException ex) {
+				warn(ex.getMessage());
+			}
+		}
+	}
+	
+	private class SaveActionListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			save();
+		}
+	}
+	
+	private class BuildActionListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			final Log log = Log.getSwingLog(_configForm.getLogTextArea());
+			try {
+				if ((!_saved || _configForm.isModified())
+						&& !save()) {
+					return;
+				}
+				log.clear();
+				ConfigPersister.getInstance().getConfig().checkInvariants();
+				Builder b = new Builder(log);
+				_outfile = b.build();
+				setRunEnabled(ConfigPersister.getInstance().getConfig()
+						.getHeaderType() == Config.GUI_HEADER	// TODO fix console app test
+						&& (Util.WINDOWS_OS || !ConfigPersister.getInstance()
+												.getConfig().isDontWrapJar()));
+			} catch (InvariantViolationException ex) {
+				setRunEnabled(false);
+				ex.setBinding(_configForm.getBinding(ex.getProperty()));
+				warn(ex);
+			} catch (BuilderException ex) {
+				setRunEnabled(false);
+				log.append(ex.getMessage());
+			}
+		}
+	}
+	
+	private class RunActionListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			try {
+				getGlassPane().setVisible(true);
+				Worker.post(new Task() {
+					public Object run() throws ExecException {
+						Log log = Log.getSwingLog(_configForm.getLogTextArea());
+						log.clear();
+						String path = _outfile.getPath();
+						if (Util.WINDOWS_OS) {
+							log.append(Messages.getString("MainFrame.executing") + path);
+							Util.exec(new String[] { path, "--l4j-debug" }, log);
+						} else {
+							log.append(Messages.getString("MainFrame.jar.integrity.test")
+									+ path);
+							Util.exec(new String[] { "java", "-jar", path }, log);
+						}
+						return null;
+					}
+				});
+			} catch (Exception ex) {
+				// XXX errors logged by exec
+			} finally {
+				getGlassPane().setVisible(false);
+			}
+		};
+	}
+
+	private class AboutActionListener implements ActionListener {
+		public void actionPerformed(ActionEvent e) {
+			info(Main.getDescription());
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/Messages.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/Messages.java
new file mode 100644
index 0000000..d4d045a
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/Messages.java
@@ -0,0 +1,55 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+package net.sf.launch4j.formimpl;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+public class Messages {
+	private static final String BUNDLE_NAME = "net.sf.launch4j.formimpl.messages";
+
+	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
+			.getBundle(BUNDLE_NAME);
+
+	private Messages() {
+	}
+
+	public static String getString(String key) {
+		try {
+			return RESOURCE_BUNDLE.getString(key);
+		} catch (MissingResourceException e) {
+			return '!' + key + '!';
+		}
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/MessagesFormImpl.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/MessagesFormImpl.java
new file mode 100644
index 0000000..ad9413d
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/MessagesFormImpl.java
@@ -0,0 +1,58 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on Oct 7, 2006
+ */
+package net.sf.launch4j.formimpl;
+
+import net.sf.launch4j.binding.Bindings;
+import net.sf.launch4j.config.Msg;
+import net.sf.launch4j.form.MessagesForm;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class MessagesFormImpl extends MessagesForm {
+
+	public MessagesFormImpl(Bindings bindings) {
+		Msg m = new Msg();
+		bindings.addOptComponent("messages", Msg.class, _messagesCheck)
+				.add("messages.startupErr", _startupErrTextArea, 	m.getStartupErr())
+				.add("messages.bundledJreErr", _bundledJreErrTextArea, m.getBundledJreErr())
+				.add("messages.jreVersionErr", _jreVersionErrTextArea, m.getJreVersionErr())
+				.add("messages.launcherErr", _launcherErrTextArea, m.getLauncherErr())
+				.add("messages.instanceAlreadyExistsMsg", _instanceAlreadyExistsMsgTextArea,
+						m.getInstanceAlreadyExistsMsg());
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/SingleInstanceFormImpl.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/SingleInstanceFormImpl.java
new file mode 100644
index 0000000..5e6dc40
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/SingleInstanceFormImpl.java
@@ -0,0 +1,54 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/**
+ * Created on 2007-09-22
+ */
+package net.sf.launch4j.formimpl;
+
+import net.sf.launch4j.binding.Bindings;
+import net.sf.launch4j.config.SingleInstance;
+import net.sf.launch4j.form.SingleInstanceForm;
+
+/**
+ * @author Copyright (C) 2007 Grzegorz Kowal
+ */
+public class SingleInstanceFormImpl extends SingleInstanceForm {
+
+	public SingleInstanceFormImpl(Bindings bindings) {
+		bindings.addOptComponent("singleInstance", SingleInstance.class,
+								_singleInstanceCheck)
+				.add("singleInstance.mutexName", _mutexNameField)
+				.add("singleInstance.windowTitle", _windowTitleField);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/SplashFormImpl.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/SplashFormImpl.java
new file mode 100644
index 0000000..b204bfd
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/SplashFormImpl.java
@@ -0,0 +1,61 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 1, 2006
+ */
+package net.sf.launch4j.formimpl;
+
+import javax.swing.JFileChooser;
+
+import net.sf.launch4j.FileChooserFilter;
+import net.sf.launch4j.binding.Bindings;
+import net.sf.launch4j.config.Splash;
+import net.sf.launch4j.form.SplashForm;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class SplashFormImpl extends SplashForm {
+
+	public SplashFormImpl(Bindings bindings, JFileChooser fc) {
+		bindings.addOptComponent("splash", Splash.class, _splashCheck)
+				.add("splash.file", _splashFileField)
+				.add("splash.waitForWindow", _waitForWindowCheck, true)
+				.add("splash.timeout", _timeoutField, "60")
+				.add("splash.timeoutErr", _timeoutErrCheck, true);
+
+		_splashFileButton.addActionListener(new BrowseActionListener(false, fc,
+				new FileChooserFilter("Bitmap files (.bmp)", ".bmp"), _splashFileField));
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/VersionInfoFormImpl.java b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/VersionInfoFormImpl.java
new file mode 100644
index 0000000..275289e
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/VersionInfoFormImpl.java
@@ -0,0 +1,63 @@
+/*
+	Launch4j (http://launch4j.sourceforge.net/)
+	Cross-platform Java application wrapper for creating Windows native executables.
+
+	Copyright (c) 2004, 2015 Grzegorz Kowal
+	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+*/
+
+/*
+ * Created on May 1, 2006
+ */
+package net.sf.launch4j.formimpl;
+
+import javax.swing.JFileChooser;
+
+import net.sf.launch4j.binding.Bindings;
+import net.sf.launch4j.config.VersionInfo;
+import net.sf.launch4j.form.VersionInfoForm;
+
+/**
+ * @author Copyright (C) 2006 Grzegorz Kowal
+ */
+public class VersionInfoFormImpl extends VersionInfoForm {
+
+	public VersionInfoFormImpl(Bindings bindings, JFileChooser fc) {
+		bindings.addOptComponent("versionInfo", VersionInfo.class, _versionInfoCheck)
+				.add("versionInfo.fileVersion", _fileVersionField)
+				.add("versionInfo.productVersion", _productVersionField)
+				.add("versionInfo.fileDescription", _fileDescriptionField)
+				.add("versionInfo.internalName", _internalNameField)
+				.add("versionInfo.originalFilename", _originalFilenameField)
+				.add("versionInfo.productName", _productNameField)
+				.add("versionInfo.txtFileVersion", _txtFileVersionField)
+				.add("versionInfo.txtProductVersion", _txtProductVersionField)
+				.add("versionInfo.companyName", _companyNameField)
+				.add("versionInfo.copyright", _copyrightField);
+	}
+}
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/messages.properties b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/messages.properties
new file mode 100644
index 0000000..385adbd
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/messages.properties
@@ -0,0 +1,80 @@
+#
+#	Launch4j (http://launch4j.sourceforge.net/)
+#	Cross-platform Java application wrapper for creating Windows native executables.
+#
+#	Copyright (c) 2004, 2015 Grzegorz Kowal
+#	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+#
+
+tab.basic=Basic
+tab.classpath=Classpath
+tab.header=Header
+tab.singleInstance=Single instance
+tab.jre=JRE
+tab.envVars=Set env. variables
+tab.splash=Splash
+tab.version=Version Info
+tab.messages=Messages
+
+# Basic
+jar=Jar:
+jarPath=Jar runtime path:
+jarTip=Application jar.
+jarPathTip=Optional runtime path of the jar relative to the executable. For example, if the executable launcher and the application jar named calc.exe and calc.jar are in the same directory, it would be: calc.jar.
+
+# Classpath
+specifyClassPath=Specify classpath item to add.
+confirmClassPathRemoval=Remove selected classpath items?
+noManifest=The selected jar does not have a manifest.
+
+# JRE
+specifyVar=Specify environment variable to add.
+otherVar=Other var
+
+jdkPreference.jre.only=Only use public JREs
+jdkPreference.prefer.jre=Prefer public JRE, but use JDK runtime if newer
+jdkPreference.prefer.jdk=Prefer JDK runtime, but use public JRE if newer
+jdkPreference.jdk.only=Only use private JDK runtimes
+
+runtimeBits.64=64-bit only
+runtimeBits.64And32=First 64-bit, then 32-bit
+runtimeBits.32And64=First 32-bit, then 64-bit
+runtimeBits.32=32-bit only
+
+MainFrame.config.files=launch4j config files (.xml, .cfg)
+MainFrame.new.config=New configuration
+MainFrame.open.config=Open configuration or import 1.x
+MainFrame.save.config=Save configuration
+MainFrame.build.wrapper=Build wrapper
+MainFrame.test.wrapper=Test wrapper
+MainFrame.about.launch4j=About launch4j
+MainFrame.discard.changes=Discard changes?
+MainFrame.confirm=Confirm
+MainFrame.untitled=untitled
+MainFrame.executing=Executing: 
+MainFrame.jar.integrity.test=Jar integrity test, executing: 
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/messages_es.properties b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/messages_es.properties
new file mode 100644
index 0000000..e856f38
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/formimpl/messages_es.properties
@@ -0,0 +1,56 @@
+#
+#	Launch4j (http://launch4j.sourceforge.net/)
+#	Cross-platform Java application wrapper for creating Windows native executables.
+#
+#	Copyright (c) 2004, 2007 Grzegorz Kowal, Patricio Mart�nez Ros
+#	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+#
+
+tab.basic = B\u00E1sico
+tab.header = Cabecera
+tab.jre = JRE
+tab.splash = Pantalla de bienvenida
+tab.version = Informaci\u00F3n de la versi\u00F3n
+
+jar = Jar
+jarPath = Ruta del jar
+jarTip = Jar de la aplicaci\u00F3n.
+jarPathTip = Ruta del jar relativa al ejecutable. Por ejemplo, si el lanzador ejecutable y el jar de la aplicaci\u00F3n, llamados calc.exe y calc.jar respectivamente, est\u00E1n en el mismo directorio, ser\u00EDa\: calc.jar.
+
+MainFrame.config.files = Ficheros de configuraci\u00F3n de launch4j (.xml, .cfg)
+MainFrame.new.config = Nueva configuraci\u00F3n
+MainFrame.open.config = Abrir configuraci\u00F3n o importar 1.x
+MainFrame.save.config = Guardar configuraci\u00F3n
+MainFrame.build.wrapper = Construir el empaquetador
+MainFrame.test.wrapper = Comprobar el empaquetador
+MainFrame.about.launch4j = Acerca de launch4j
+MainFrame.discard.changes = \u00BFDescartar cambios?
+MainFrame.confirm = Confirmar
+MainFrame.untitled = Sin nombre
+MainFrame.executing = Ejecutando\: 
+MainFrame.jar.integrity.test = Prueba de integridad jar, ejecutando\: 
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/messages.properties b/packaging_tools/windows/launch4j/src/net/sf/launch4j/messages.properties
new file mode 100644
index 0000000..9895ca3
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/messages.properties
@@ -0,0 +1,45 @@
+#
+#	Launch4j (http://launch4j.sourceforge.net/)
+#	Cross-platform Java application wrapper for creating Windows native executables.
+#
+#	Copyright (c) 2004, 2015 Grzegorz Kowal
+#	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+#
+
+Main.usage=usage
+
+Builder.compiling.resources=Compiling resources
+Builder.linking=Linking
+Builder.wrapping=Wrapping
+Builder.success=Successfully created 
+Builder.generated.resource.file=Generated resource file...\n
+Builder.line.has.errors=Line {0} has errors...
+
+Util.exec.failed=Exec failed
+Util.tmpdir=Temporary file directory path (launch4j.tmpdir) cannot contain spaces.
+
diff --git a/packaging_tools/windows/launch4j/src/net/sf/launch4j/messages_es.properties b/packaging_tools/windows/launch4j/src/net/sf/launch4j/messages_es.properties
new file mode 100644
index 0000000..8565cf4
--- /dev/null
+++ b/packaging_tools/windows/launch4j/src/net/sf/launch4j/messages_es.properties
@@ -0,0 +1,44 @@
+#
+#	Launch4j (http://launch4j.sourceforge.net/)
+#	Cross-platform Java application wrapper for creating Windows native executables.
+#
+#	Copyright (c) 2004, 2007 Grzegorz Kowal, Patricio Mart�nez Ros
+#	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. Neither the name of the copyright holder 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 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 HOLDER 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.
+#
+
+Main.usage=Uso
+
+Builder.compiling.resources=Compilando recursos
+Builder.linking=Enlazando
+Builder.wrapping=Empaquetando
+Builder.success=Creado con \ufffdxito 
+Builder.generated.resource.file=Fichero de recursos generado...\n
+Builder.line.has.errors=Line {0} has errors...
+
+Util.exec.failed=Fallo en la ejecuci\ufffd
+Util.tmpdir=Temporary file directory path (launch4j.tmpdir) cannot contain spaces.
diff --git a/packaging_tools/windows/launch4j/w32api/MinGW.LICENSE.txt b/packaging_tools/windows/launch4j/w32api/MinGW.LICENSE.txt
new file mode 100644
index 0000000..aea85bd
--- /dev/null
+++ b/packaging_tools/windows/launch4j/w32api/MinGW.LICENSE.txt
@@ -0,0 +1,25 @@
+MinGW - Licensing Terms
+
+Various pieces distributed with MinGW come with its own copyright and license:
+
+Basic MinGW runtime
+    MinGW base runtime package is uncopyrighted and placed in the public domain.
+    This basically means that you can do what you want with the code.
+
+w32api
+    You are free to use, modify and copy this package.
+    No restrictions are imposed on programs or object files compiled with this library.
+    You may not restrict the the usage of this library.
+    You may distribute this library as part of another package or as a modified package
+    if and only if you do not restrict the usage of the portions consisting
+    of this (optionally modified) library.
+    If distributed as a modified package then this file must be included.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty
+    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+MinGW profiling code
+    MinGW profiling code is distributed under the GNU General Public License. 
+
+The development tools such as GCC, GDB, GNU Make, etc all covered by GNU General Public License.
diff --git a/packaging_tools/windows/launch4j/w32api/libadvapi32.a b/packaging_tools/windows/launch4j/w32api/libadvapi32.a
new file mode 100644
index 0000000..c471853
Binary files /dev/null and b/packaging_tools/windows/launch4j/w32api/libadvapi32.a differ
diff --git a/packaging_tools/windows/launch4j/w32api/libgcc.a b/packaging_tools/windows/launch4j/w32api/libgcc.a
new file mode 100644
index 0000000..d3f8947
Binary files /dev/null and b/packaging_tools/windows/launch4j/w32api/libgcc.a differ
diff --git a/packaging_tools/windows/launch4j/w32api/libkernel32.a b/packaging_tools/windows/launch4j/w32api/libkernel32.a
new file mode 100644
index 0000000..5d3eb07
Binary files /dev/null and b/packaging_tools/windows/launch4j/w32api/libkernel32.a differ
diff --git a/packaging_tools/windows/launch4j/w32api/libmingw32.a b/packaging_tools/windows/launch4j/w32api/libmingw32.a
new file mode 100644
index 0000000..d1f7888
Binary files /dev/null and b/packaging_tools/windows/launch4j/w32api/libmingw32.a differ
diff --git a/packaging_tools/windows/launch4j/w32api/libmsvcrt.a b/packaging_tools/windows/launch4j/w32api/libmsvcrt.a
new file mode 100644
index 0000000..6714146
Binary files /dev/null and b/packaging_tools/windows/launch4j/w32api/libmsvcrt.a differ
diff --git a/packaging_tools/windows/launch4j/w32api/libshell32.a b/packaging_tools/windows/launch4j/w32api/libshell32.a
new file mode 100644
index 0000000..d35fbda
Binary files /dev/null and b/packaging_tools/windows/launch4j/w32api/libshell32.a differ
diff --git a/packaging_tools/windows/launch4j/w32api/libuser32.a b/packaging_tools/windows/launch4j/w32api/libuser32.a
new file mode 100644
index 0000000..387fb65
Binary files /dev/null and b/packaging_tools/windows/launch4j/w32api/libuser32.a differ
diff --git a/packaging_tools/windows/launch4j/web/bullet.gif b/packaging_tools/windows/launch4j/web/bullet.gif
new file mode 100644
index 0000000..f3f133b
Binary files /dev/null and b/packaging_tools/windows/launch4j/web/bullet.gif differ
diff --git a/packaging_tools/windows/launch4j/web/changelog.html b/packaging_tools/windows/launch4j/web/changelog.html
new file mode 100644
index 0000000..098cf35
--- /dev/null
+++ b/packaging_tools/windows/launch4j/web/changelog.html
@@ -0,0 +1,434 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+	<head>
+		<title>Launch4j - Cross-platform Java executable wrapper</title>
+		<meta name="description" content="Cross-platform Java executable wrapper for creating lightweight Windows native EXEs. Provides advanced JRE search, application startup configuration and better user experience.">
+		<meta name="keywords" content="java executable wrapper, java application wrapper, exe wrapper, jar wrapper, wrap, wraps, wrapping, free software, launch, launcher, linux, mac, windows, open source, ant, native splash screen, deploy, build tool">
+		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+		<meta name="author" content="Grzegorz Kowal" >
+		<link rel="stylesheet" type="text/css" href="style.css">
+	</head>
+	<body>
+		<div id="container">
+			<div id="top">
+				<img style="width: 249px; height: 58px;" src="launch4j.gif" alt="launch4j"> <span class="version">3.8</span>
+			</div>
+			<div id="leftnav">
+				<ul>
+					<li><a href="index.html">Home</a></li>
+					<li><a href="docs.html">Docs</a></li>
+					<li><a href="changelog.html">Changelog</a></li>
+					<li><a href="http://sourceforge.net/project/screenshots.php?group_id=95944">Screenshots</a></li>
+					<li><a href="http://sourceforge.net/projects/launch4j/files/launch4j-3/3.8">Download</a></li>
+					<li><a href="http://sourceforge.net/projects/launch4j/support">Support</a></li>
+					<li><a href="http://sourceforge.net/projects/launch4j">Project summary</a></li>
+					<li><a href="http://sourceforge.net/tracker/?atid=613100&group_id=95944">Bug tracker</a></li>
+					<li><a href="links.html">Links</a></li>
+				</ul>
+				<br />
+				<a class="button" href="https://sourceforge.net/projects/launch4j/files/launch4j-3/3.8" rel="nofollow"><img alt="Downloads" src="https://img.shields.io/sourceforge/dm/launch4j.svg"></a>
+				<a class="button" href="https://sourceforge.net/p/launch4j/" rel="nofollow"><img alt="Download Launch4j" src="https://sourceforge.net/sflogo.php?type=10&group_id=95944"></a>
+			</div>
+			<div id="content">
+<h2>Changelog</h2>
+
+<h4>Changes in version 3.8 (09-05-2015)</h4>
+<ul class="changes">
+	<li>FR #59 Mavenized launch4j (thanks to taxone, Paul Jungwirth, Lukasz Lenart).</li>
+	<li>Ticket #139 Sign4j compiles and works on Linux (Tim Angus).</li>
+</ul>
+
+<h4>Changes in version 3.7 (01-03-2015)</h4>
+<ul class="changes">
+	<li>Fixed false positive virus warnings that appeared in version 3.6.</li>
+</ul>
+
+<h4>Changes in version 3.6 (06-01-2015)</h4>
+<ul class="changes">
+	<li>FR #86 The 32/64 bit search is fully configurable (64, 64/32, 32/64, 32) - added option 32/64.</li>
+	<li>FR #70 Java search sequence - bundled JRE can be used before or after the min/max version search (bundledJreAsFallback).</li>
+	<li>Fixed: Crash when classpath contained wildcard patterns where the dependency was in the same directory as the launcher.</li>
+	<li>Fixed launch4j GUI application closing - the process was still running.</li>
+	<li style="text-decoration: line-through">Updated to Dev-Cpp 5.7.1, MinGW 4.8.1 (head_src and w32api files).</li>
+</ul>
+
+<h4>Changes in version 3.5 (09-10-2014)</h4>
+<ul class="changes">
+	<li>Ticket #75 Fixed exit value of -1 results in launch4j error.</li>
+	<li>Ticket #133, #134 Fixed runtimeBits JRE option.</li>
+	<li>FR #28, #72 Ability to restart the application based on exit code (Pascal Gruen, GK).</li>
+</ul>
+
+<h4>Changes in version 3.4 (21-04-2014)</h4>
+<ul class="changes">
+	<li>FR #61 Added a new special variable JREHOMEDIR (Stefan Knoefel).</li>
+	<li>Ticket #130 Removed ant from launch4j classpath to fix problems with other ant versions.</li>
+	<li>Updated JGoodies libraries.</li>
+	<li>Added logging based on launch4j environment variable for file association launch testing.</li>
+</ul>
+
+<h4>Changes in version 3.3 (02-04-2014)</h4>
+<ul class="changes">
+	<li>FR #60 Check the registry during JRE search, so that only valid runtimes are taken into account.</li>
+	<li>Ticket #128 Updated MAC OS X 10.8 windres to 2.24.51.20140326 - version info was compiled incorrectly (Code Buddy).</li>
+	<li>Added support for Japanese characters (Toshimm).</li>
+	<li>Ticket #82, #125 Take configuration encoding into account and save file with UTF-8 encoding.</li>
+</ul>
+
+<h4>Changes in version 3.2 (24-03-2014)</h4>
+<ul class="changes">
+	<li>Ticket #126, #127: Fixed crash when classpath was not defined.</li>
+	<li>Corrected problem with loading jvm options from ini file when bundled JRE is used.</li>
+	<li>FR #63, #80 Add possibility to configure 32/64 bit search.</li>
+	<li>Improved logging (--l4j-debug and --l4j-debug-all).</li>
+</ul>
+
+<h4>Changes in version 3.1.0-beta2 (20-08-2013)</h4>
+<ul class="changes">
+	<li>Removed the custom process name feature which was not compatible with newer Windows versions.</li>
+	<li>#121 Fixed heap calculation on systems with more than 4GB of memory.</li>
+	<li>#115 Added 64-bit bundled JRE option to control when the 32-bit maximum heap is applied.</li>
+	<li>Reduced the 32-bit max heap size to the safer 1GB.</li>
+	<li>Changes in --l4j-debug for better readability.</li>
+	<li>Fixed Can discard changes popup which appeared even if no changes were made.</li>
+	<li>Corrected permissions, owner and group in tgz packages.</li>
+	<li>#117 Fixed launch4j home dir search in case of jar and class files.</li>
+	<li>#111 Support paths with spaces in Linux systems.</li>
+	<li>#91 Linux launch4j starting script no longer changes the current directory.</li>
+	<li>#77 Allow line feeds in custom messages.</li>
+	<li>#57 Escape backslashes.</li>
+</ul>
+
+<h4>Changes in version 3.1.0-beta1 (02-12-2012)</h4>
+<ul class="changes">
+	<li>Migrated code to Java 1.6.</li>
+	<li>Updated binutils to 2.22</li>
+	<li>Added Max OS X x86 support (two versions).</li>
+	<li>Added feature to digitally sign executables - sign4j by the Bramfeld team, sponsored by Servoy.</li>
+	<li>FR #3569093 Support Windows Security Features of the Windows 8 certification kit (Luc Bruninx).</li>
+</ul>
+
+<h4>Changes in version 3.0.2 (02-01-2011)</h4>
+<ul class="changes">
+	<li>Fixed the command line in Exec error message.</li>
+	<li>Fixed set environment variable bug.</li>
+	<li>Added wrapper logging to launch4j GUI.</li>
+	<li>Fixed critical bug: heap size over the limit.</li>
+</ul>
+
+<h4>Changes in version 3.0.1 (20-07-2008)</h4>
+<ul class="changes">
+	<li>Enhanced the runtime logging (--l4j-debug).</li>
+	<li>Fixed critical bug #1925387 64-bit JDK detection problem caused a runtime search error (found by Stivo).</li>
+	<li>Fixed bug #1919406, #1989479 Not every option is loaded from saved xml file (found by Robert Lachner, Jan-Philipp Rathje).</li>
+	<li>Fixed bug #1930222 Simple typo (found by Daniel).</li>
+</ul>
+
+<h4>Changes in version 3.0.0 (16-03-2008)</h4>
+<ul class="changes">
+	<li>FR #1390075 Added dynamic initial/max heap values.</li>
+	<li>FR #1707827 Allow to prefer JDK private runtimes over JREs (Ian Roberts).</li>
+	<li>FR #1730245 Allow to run only a single aplication instance (Sylvain Mina).</li>
+	<li>FR #1391610 Added IBM JRE/JDK support.</li>
+	<li>Added environment variable expansion in bundled JRE path.</li>
+	<li>Fixed critical bug #1882524 JRE detection problem on 64-bit Windows.</li>
+	<li>Fixed bug #1758912 Vista elevation to full administrator privileges.</li>
+	<li>Fixed bug #1784341 Problems with spaces in paths under linux (Michael Piefel).</li>
+	<li>Fixed bug where /bin was appended to path environment variable instead of jre_path/bin.</li>
+</ul>
+
+<h4>Changed license to BSD, MIT (26-01-2008)</h4>
+<ul class="changes">
+	<li>
+		The upcoming Launch4j 3.0.0 release will be licensed under the much more
+		liberal new BSD license. The head subproject (the binary header attached to wrapped jars)
+		will be licensed under the similar MIT license.
+	</li>
+</ul>
+
+<h4>Changes in version 3.0.0-pre2 (29-10-2006)</h4>
+<ul class="changes">
+	<li>Enhanced GUI.</li>
+	<li>Redesigned error reporting.</li>
+	<li>Added custom error messages.</li>
+	<li>Added support website feature.</li>
+	<li>Added PWD and OLDPWD special variables and access to the registry.</li>
+	<li>Runtime ini file extension changed to .l4j.ini, added comments (#).</li>
+	<li>FR #1427811 Initial process priority.</li>
+	<li>FR #1547339 Added VarFileInfo structure to Version Info (Stephan Laertz).</li>
+	<li>FR #1584295 Updated documentation for --l4j-debug.
+	<li>Fixed <jarArgs/> and <args/> config conversion bug (found by Dafe Simonek).</li>
+	<li>Fixed the Ant task exception reporting bug, added tmpdir and bindir attributes.</li>
+	<li>Fixed bug #1563415 Problem with launching application when ini file exists (found by mojomax).</li>
+	<li>Fixed bug #1527619 Console header wildcard expansion (found by erikjv).</li>
+	<li>Fixed bug #1544167 NPE when dontwrap and only classpath given (found by Hendrik Schreiber).</li>
+	<li>Fixed bug #1584264 Dropdown boxes get mixed up (found by Larsen).</li>
+</ul>
+
+<h4>News (17-10-2006)</h4>
+<ul class="changes">
+	<li><a href="http://9stmaryrd.com/tools/launch4j-maven-plugin/">Launch4j Maven Plugin by Paul A. Jungwirth</a></li>
+</ul>
+
+<h4>Changes in version 3.0.0-pre1 (21-07-2006)</h4>
+<ul class="changes">
+	<li>Improved configuration file format and embedded Ant config.</li>
+	<li>Launch executable jars, regular jars and class files.</li>
+	<li>Added dynamic classpath resolution with environment variable references and wildcards.</li>
+	<li>Added option to set environment variables before launching the application.</li>
+	<li>New command line switches to change the compiled options.</li>
+	<li>Improved debug information.</li>
+	<li>Added support for XP visual style manifests.</li>
+	<li>Added option to disable use of private JREs.</li>
+	<li>Many small fixes and improvements...</li>
+</ul>
+
+<h4 class="warn">Configuration file changes in 3.x</h4>
+<ul class="changes">
+	<li>Previous formats (1.x and 2.x) are supported.</li>
+	<li><em><headerType></em> accepts gui|console</li>
+	<li><em><jarArgs></em> was changed to <em><cmdLine></em></li>
+	<li>
+		<em><launch4jConfig><headerObjects><file></em> was changed to
+		<em><launch4jConfig><obj></em>
+	</li>
+	<li>
+		<em><launch4jConfig><libs><file></em> was changed to
+		<em><launch4jConfig><lib></em>
+	</li>
+	<li>
+		<em><launch4jConfig><jre><args></em> was changed to multiple
+		<em><launch4jConfig><jre><opt></em>
+	</li>
+</ul>
+
+<h4 class="warn">Embedded Ant configuration changes in 3.x</h4>
+<ul class="changes">
+	<li>
+		<em><jre args="value"></em> was changed to
+		<em><jre><opt>value</opt></jre></em>
+	</li>
+	<li>Now it's possible to define headerObjects, libs and classpath.</li>
+</ul>
+
+<h4>Changes in version 2.1.5 (21-07-2006)</h4>
+<ul class="changes">
+	<li>Changed the Java download site to http://java.com/download.</li>
+	<li>Now it's possible to use absolute and relative paths to specify the bundled JRE.</li>
+</ul>
+
+<h4>Changes in version 2.1.4 (15-06-2006)</h4>
+<ul class="changes">
+	<li>
+		Fixed bug #1503996 Only the first wrapper instance had a custom process name
+		(found by Helge Böhme).
+	</li>
+</ul>
+
+<h4>Changes in version 2.1.3 (31-05-2006)</h4>
+<ul class="changes">
+	<li>
+		Fixed bug #1497453 Ant task doesn't support relative jar path with '..'
+		(found by Aston, Pavel Moukhataev).
+	</li>
+	<li>Jar argument size limit is now 16KB.</li>
+	<li>Environment variable size limit raised to 32KB.</li>
+	<li>Allow to concatenate multiple env. variables in one property (Maria D.)</li>
+	<li>Added launch4j.tmpdir property.</li>
+</ul>
+
+<h4>Changes in version 2.1.2 (03-04-2006)</h4>
+<ul class="changes">
+	<li>Important bugfix: insufficient command line buffer size was increased to 32KB
+	(found by Sebastian Kopsan).</li>
+	<li>Added runtime JVM options from an .ini file.</li>
+	<li>Launch4j's bin directory is now configurable through launch4j.bindir
+	system property.</li>
+</ul>
+
+<h4>Changes in version 2.1.1 (25-01-2006)</h4>
+<ul class="changes">
+	<li>Fixed bug #1402748. Validation error occurred when using an Ant task with
+		embedded config and dontWrapJar option (found by Chris Nokleberg).</li>
+</ul>
+
+<h4>Changes in version 2.1.0 (10-01-2006)</h4>
+<ul class="changes">
+	<li><b>More features and smaller header: 18 KB!!</b></li>
+	<li>Added launcher mode, you can choose whether or not to wrap the jar.</li>
+	<li>Spanish translation of the website/docs and program messages
+		(Patricio Martínez Ros).</li>
+	<li>JRE's bin directory is appended to the Path environment variable
+		(Ianiv Schweber).</li>
+	<li>Added special variables EXEDIR and EXEFILE that hold the executable's
+		directory and full path.</li>
+	<li>Support for mapping environment variables to system properties.</li>
+	<li>Added debug launching mode - various information is displayed before
+		starting the Java application.</li>
+	<li>Fixed min/max JRE version checking, previous versions allowed these
+		to be equal (found by Ryan).</li>
+	<li>Bug fixed. Quotes in jar/JVM arguments were handled incorrectly (found by Juan Alvarez Ferrando).</li>
+	<li>A few other enhancements.</li>
+</ul>
+
+<h4>Changes in version 2.0.0 (31-10-2005)</h4>
+<ul class="changes">
+	<li>Launch4j for Mac OS X is available thanks to Peter Centgraf.</li>
+	<li>Added support for custom headers.</li>
+	<li>Fixed bug #1343908, command line arguments with spaces were handled
+		incorrectly by the console header (found by Oliver Schaefer / Steve Alberty).</li>
+	<li>Fixed stdin redirection bug (found by Timo Santasalo).</li>
+</ul>
+
+<h4>Changes in version 2.0 RC3 (13-08-2005) - final RC</h4>
+<ul class="changes">
+	<li>Correct handling of pathnames with spaces.</li>
+	<li>Fixed the '%20' pathname bug.</li>
+	<li>Fixed basedir bug (Richard Xing).</li>
+	<li>Splash screen can be closed when the application window becomes visible
+		with out specifying it's title (Martin Busik).
+		Update your config file: <em><waitForTitle>title</waitForTitle></em>
+		is now <em><waitForWindow>true</waitForWindow></em>.
+	</li>
+	<li>Fixed build.bat files in demo directories.</li>
+</ul>
+
+<h4>Changes in version 2.0 RC2 (21-06-2005)</h4>
+<ul class="changes">
+	<li>chdir allows to change the current directory to arbitrary paths
+		relative to the executable (FR #1144907). It's incompatible with
+		previous versions, update your config file:
+		<em><chdir>true</chdir></em>
+		is now <em><chdir>.</chdir></em>.
+	</li>
+	<li>Bundled JRE path no longer depends on chdir function.</li>
+	<li>Fixed Ant task bug, build files outside launch4j's directory
+		wouldn't work. Josh Elsasser submitted a patch that works without
+		setting launch4j's home dir in the build file. Thanks!
+	</li>
+	<li>Removed static edge from splash screen (Serge Baranov).</li>
+	<li>Program checks that the output file path doesn't contain spaces.</li>
+	<li>Fixed a NPE bug caused by a missing maxVersion property
+		(found by Morgan Schweers).
+	</li>
+	<li>Fixed relative JRE path bug (found by Nili_).</li>
+	<li>Cleaned up the Builder class.</li>
+	<li>Fixed Ant task NPE where the config was entirely defined in the
+		build file (Josh Elsasser).
+	</li>
+</ul>
+
+<h4>Changes in version 2.0 RC (07-06-2005)</h4>
+<ul class="changes">
+	<li>Added an Ant task for better build integration.</li>
+	<li>Added 2.x documentation.</li>
+	<li>Updated the demo configuration files.</li>
+	<li>Fixed issues with relative paths in the configuration.</li>
+	<li>Removed the '-1' option in console mode.</li>
+	<li>Minor fixes.</li>
+</ul>
+
+<h4>Changes in version 2.0 beta2 (23-05-2005)</h4>
+<ul class="changes">
+	<li># comments are recognized when importing 1.x cfg files.</li>
+	<li>Added version information.</li>
+	<li>Resource file is displayed when a resource error occurs.</li>
+	<li>Fixed a bug found by Max, options on the first tab were always enabled.</li>
+</ul>
+
+<h4>Changes in version 2.0 beta1 (13-05-2005)</h4>
+<ul class="changes">
+	<li>Completely new, cross-platform wrapper - create windows executables on Linux.</li>
+	<li>New .xml configuration file.</li>
+	<li>Application icon with multiple resolutions and color depths.</li>
+	<li>Swing GUI interface.</li>
+	<li>Header compiled with MinGW port of gcc instead of VC++.</li>
+</ul>
+
+<h4>Changes in version 1.4.2 (12-03-2005)</h4>
+<ul class="changes">
+	<li>Fixed bug #1158143, stayAlive without a splash screen caused
+		an infinite loop (found by Gregory Kotsaftis).
+	</li>
+</ul>
+
+<h4>Changes in version 1.4.1 (04-03-2005)</h4>
+<ul class="changes">
+	<li>Fixed bug #1119040, buffer for reading config properties
+		was too short (found by Tom Jensen and Neil).
+	</li>
+	<li>Added configurable splash timeout (FR #1102951).</li>
+	<li>Added option to disable the error message on splash timeout (FR #1109159).</li>
+	<li>Option to keep the gui launcher 'alive' after starting an application (FR #1124653).</li>
+	<li>Removed version info.</li>
+	<li>'waitfor' property is now optional.</li>
+</ul>
+
+<h4>Changes in version 1.4.0 (26-01-2005)</h4>
+<ul class="changes">
+	<li>Removed .lch4j suffix from process name, now it has the
+		form of the executable filename. The temporary launchers are stored in
+		launch4j-tmp directory (suggested by Emmanuel).
+	</li>
+	<li>Added support for console apps (FR #1050053).</li>
+</ul>
+
+<h4>Changes in version 1.3.1 (05-11-2004)</h4>
+<ul class="changes">
+	<li>Fixed a bug where explorer window was opened instead of
+		launching the application when setProcName was set to false
+		(found by Rob Jones).
+	</li>
+	<li>Fixed temporary launcher deletion bug.</li>
+</ul>
+
+<h4>Changes in version 1.3.0 (01-11-2004)</h4>
+<ul class="changes">
+	<li>Now you can configure launch4j to:
+		<ul class="changes">
+			<li>Use a bundled JRE.</li>
+			<li>Search for java, show an error message if the
+				right version cannot be found and open the java download page.</li>
+			<li>And a feature you asked for: use bundled JRE, if
+				that fails search for java and bring up the java download page on error.</li>
+		</ul>
+	</li>
+	<li>Enhanced code that sets the custom process name. In
+		case launch4j can't refresh the temporary launcher, bundled JRE on a
+		read only file system for example, it will use one created previously,
+		if it's present and has the correct size. If not, launching will still
+		continue, but with javaw.exe process name.Temporary launchers are
+		now created in the jre directory instead of jre/bin.
+	</li>
+	<li>errTitle property allows to set the title of the error message box.</li>
+</ul>
+
+<h4>Changes in version 1.2.1 (25-09-2004)</h4>
+<ul class="changes">
+	<li>Bugfix that allows launching from command line using short
+		name (#1026514 / found by Zach Del)
+	</li>
+</ul>
+
+<h4>Changes in version 1.2.0 (10-09-2004)</h4>
+<ul class="changes">
+	<li><strong>Custom process name</strong> (<i>myapp.lch4j.exe</i>)</li>
+	<li><strong>9 KB stub!</strong></li>
+	<li>Jar arguments</li>
+	<li>Bugfix that allows launching from command line.</li>
+	<li>Hide splash on javaw error.</li>
+	<li>Easier configuration with case insensitive parameters + show unrecognized parameter.</li>
+	<li>12 KB demo application, 34 KB with splash screen.</li>
+	<li>Configuration parameter <em>'args'</em> changed to <em>'jvmArgs'</em></li>
+</ul>
+			</div>
+			<div class="footer">
+			    All trademarks mentioned are properties of their respective owners.<br />
+            	Copyright © 2005-2015 Grzegorz Kowal
+            	<p style="margin-top: 0.5em">
+            	    <a href="https://sourceforge.net/p/launch4j/" rel="nofollow"><img alt="Download Launch4j Executable Wrapper" src="https://sourceforge.net/sflogo.php?type=16&group_id=95944"></a>
+            	</p>
+			</div>
+		</div>
+	</body>
+</html>
diff --git a/packaging_tools/windows/launch4j/web/docs.html b/packaging_tools/windows/launch4j/web/docs.html
new file mode 100644
index 0000000..64b4120
--- /dev/null
+++ b/packaging_tools/windows/launch4j/web/docs.html
@@ -0,0 +1,668 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+	<head>
+		<title>Launch4j - Cross-platform Java executable wrapper</title>
+		<meta name="description" content="Cross-platform Java executable wrapper for creating lightweight Windows native EXEs. Provides advanced JRE search, application startup configuration and better user experience.">
+		<meta name="keywords" content="java executable wrapper, java application wrapper, exe wrapper, jar wrapper, wrap, wraps, wrapping, free software, launch, launcher, linux, mac, windows, open source, ant, native splash screen, deploy, build tool">
+		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+		<meta name="author" content="Grzegorz Kowal" >
+		<link rel="stylesheet" type="text/css" href="style.css">
+	</head>
+	<body>
+		<div id="container">
+			<div id="top">
+				<img style="width: 249px; height: 58px;" src="launch4j.gif" alt="launch4j"> <span class="version">3.8</span>
+			</div>
+			<div id="leftnav">
+				<ul>
+					<li><a href="index.html">Home</a></li>
+					<li><a href="docs.html">Docs</a></li>
+					<li><a href="changelog.html">Changelog</a></li>
+					<li><a href="http://sourceforge.net/project/screenshots.php?group_id=95944">Screenshots</a></li>
+					<li><a href="http://sourceforge.net/projects/launch4j/files/launch4j-3/3.8">Download</a></li>
+					<li><a href="http://sourceforge.net/projects/launch4j/support">Support</a></li>
+					<li><a href="http://sourceforge.net/projects/launch4j">Project summary</a></li>
+					<li><a href="http://sourceforge.net/tracker/?atid=613100&group_id=95944">Bug tracker</a></li>
+					<li><a href="links.html">Links</a></li>
+				</ul>
+				<br />
+				<a class="button" href="https://sourceforge.net/projects/launch4j/files/launch4j-3/3.8" rel="nofollow"><img alt="Downloads" src="https://img.shields.io/sourceforge/dm/launch4j.svg"></a>
+				<a class="button" href="https://sourceforge.net/p/launch4j/" rel="nofollow"><img alt="Download Launch4j" src="https://sourceforge.net/sflogo.php?type=10&group_id=95944"></a>
+			</div>
+			<div id="content">
+<a href="#Running_launch4j">Running launch4j</a><br>
+<a href="#Configuration_file">Configuration file</a><br>
+<a href="#Importing_1.x_configuration">Importing 1.x configuration</a><br>
+<a href="#Ant_task">Ant Task</a><br>
+<a href="#Additional_jvm_options">Additional JVM options at runtime</a><br>
+<a href="#Runtime_options">Runtime options</a><br>
+<a href="#Settings">Settings</a><br>
+
+<h2 id="Running_launch4j">Running launch4j</h2>
+Run <em>launch4j.exe</em> or <em>launch4j</em> script without command
+line arguments to enter the GUI mode.
+
+<pre>launch4j.exe</pre>
+
+To wrap a jar in console mode use <em>launch4jc.exe</em> <em></em>and
+specify the configuration file.
+
+<pre>launch4jc.exe config.xml</pre>
+
+On Linux use the <em>launch4j</em> script.
+
+<pre>launch4j ./demo/l4j/config.xml</pre>
+
+<h2 id="Configuration_file">Configuration file</h2>
+Launch4j requires an xml configuration file for each output executable.
+You can create and edit it conveniently using the graphic user
+interface or your favorite editor. Alternatively it's possible to pass
+all of the configuration parameters through the Ant task. All files
+may be absolute paths or relative to the configuration file path.
+
+<pre>
+<!--
+  <strong>Bold</strong> elements are required.
+  <span class="codeword"><u>Underlined</u></span> values are the default when the element is not specified.
+  %VAR% expands environment/special variables and registry keys.
+-->
+<strong><launch4jConfig></strong>
+  <strong><headerType></strong><span class="codeword">gui|console</span><strong></headerType></strong>
+  <strong><outfile></strong><span class="codeword">file.exe</span><strong><span class="codeword"></span></outfile></strong>
+  <jar><span class="codeword">file</span><span class="codeword"></span></jar>
+  <dontWrapJar><span class="codeword">true|<u>false</u></span></dontWrapJar>
+  <errTitle><span class="codeword">application name</span></errTitle>
+  <downloadUrl><span class="codeword"><u>http://java.com/download</u></span></downloadUrl>
+  <supportUrl><span class="codeword">url</span></supportUrl>
+  <cmdLine><span class="codeword">text</span></cmdLine>
+  <chdir><span class="codeword">path</span></chdir>
+  <priority><span class="codeword"><u>normal</u>|idle|high</span></priority>
+  <stayAlive><span class="codeword">true|false</span></stayAlive>
+  <restartOnCrash><span class="codeword">true|false</span></restartOnCrash>
+  <icon><span class="codeword">file</span></icon>
+  <obj><span class="codeword">header object file</span></obj>
+  ...
+  <lib><span class="codeword">w32api lib</span></lib>
+  ...
+  <var><span class="codeword">var=text (%VAR%)</span></var>
+  ...
+  <classPath>
+    <strong><mainClass></strong><span class="codeword">main class</span><strong></mainClass></strong>
+    <strong><cp></strong><span class="codeword">classpath (%VAR%)</span><strong></cp></strong>
+    ...
+  </classPath>
+  <singleInstance>
+    <strong><mutexName></strong><span class="codeword">text</span><strong></mutexName></strong>
+    <windowTitle><span class="codeword">text</span></windowTitle>
+  </singleInstance> 
+  <strong><jre></strong>
+    <!-- Specify <strong>path</strong> or <strong>minVersion</strong> or both. -->
+    <strong><path></strong><span class="codeword">bundled JRE path (%VAR%)</span><strong></path></strong>
+    <bundledJre64Bit><span class="codeword">true|<u>false</u></span></bundledJre64Bit>
+    <bundledJreAsFallback><span class="codeword">true|<u>false</u></span></bundledJreAsFallback>
+    <strong><minVersion></strong><span class="codeword">x.x.x[_xx]</span><strong></minVersion></strong>
+    <maxVersion><span class="codeword">x.x.x[_xx]</span></maxVersion>
+    <jdkPreference><span class="codeword">jreOnly|<u>preferJre</u>|preferJdk|jdkOnly</span></jdkPreference>
+    <runtimeBits><span class="codeword">64|<u>64/32</u>|32/64|32</span></runtimeBits>
+    <!-- Heap sizes in MB and % of available memory. -->
+    <initialHeapSize><span class="codeword">MB</span></initialHeapSize>
+    <initialHeapPercent><span class="codeword">%</span></initialHeapPercent>
+    <maxHeapSize><span class="codeword">MB</span></maxHeapSize>
+    <maxHeapPercent><span class="codeword">%</span></maxHeapPercent>
+    <opt><span class="codeword">text (%VAR%)</span></opt>
+    ...
+  <strong></jre></strong>
+  <splash>
+    <strong><file></strong><span class="codeword">file</span><strong></file></strong>
+    <waitForWindow><span class="codeword"><u>true</u>|false</span></waitForWindow>
+    <timeout><span class="codeword">seconds [60]</span></timeout>
+    <timeoutErr><span class="codeword"><u>true</u>|false</span></timeoutErr>
+  </splash>
+  <versionInfo>
+    <strong><fileVersion></strong><span class="codeword">x.x.x.x</span><strong></fileVersion></strong>
+    <strong><txtFileVersion></strong><span class="codeword">text</span><strong></txtFileVersion></strong>
+    <strong><fileDescription></strong><span class="codeword">text</span><strong></fileDescription></strong>
+    <strong><copyright></strong><span class="codeword">text</span><strong></copyright></strong>
+    <strong><productVersion></strong><span class="codeword">x.x.x.x</span><strong></productVersion></strong>
+    <strong><txtProductVersion></strong><span class="codeword">text</span><strong></txtProductVersion></strong>
+    <strong><productName></strong><span class="codeword">text</span><strong></productName></strong>
+    <companyName><span class="codeword">text</span></companyName>
+    <strong><internalName></strong><span class="codeword">filename</span><strong></internalName></strong>
+    <strong><originalFilename></strong><span class="codeword">filename.exe</span><strong></originalFilename></strong>
+  </versionInfo>
+  <messages>
+    <strong><startupErr></strong>text<strong></startupErr></strong>
+    <strong><bundledJreErr></strong>text<strong></bundledJreErr></strong>
+    <strong><jreVersionErr></strong>text<strong></jreVersionErr></strong>
+    <strong><launcherErr></strong>text<strong></launcherErr></strong>
+    <!-- Used by console header only. -->
+    <strong><instanceAlreadyExistsMsg></strong>text<strong></instanceAlreadyExistsMsg></strong>
+  </messages>
+<strong></launch4jConfig></strong>
+</pre>
+
+<dl>
+	<dt><headerType></dt>
+	<dd>
+		Type of the header used to wrap the application.
+		<table>
+			<thead>
+		    	<tr>
+		    		<th>Header type</th>
+		    		<th>Launcher</th>
+		    		<th>Splash screen</th>
+		    		<th style="white-space: nowrap">Wait for the application to close</th>
+		    	</tr>
+			</thead>
+			<tbody>
+		    	<tr>
+		    		<td>gui</td>
+		    		<td>javaw</td>
+		    		<td>yes</td>
+		    		<td class="description">wrapper waits only if <em>stayAlive</em> is set to true,
+		    			otherwise it terminates immediately or after closing
+		    			the splash screen.
+		    		</td>
+		    	</tr>
+		    	<tr>
+		    		<td>console</td>
+		    		<td>java</td>
+		    		<td>no</td>
+		    		<td class="description">always waits and returns application's exit code.</td>
+		    	</tr>
+		    </tbody>
+		</table>
+	</dd>
+</dl>
+<dl>
+	<dt><outfile></dt>
+	<dd>Output executable file.</dd>
+</dl>
+<dl>
+	<dt><jar></dt>
+	<dd>
+		Optional, by default specifies the jar to wrap. To launch a jar without
+		wrapping it enter the runtime path of the jar relative to
+		the executable and set <em><dontWrapJar></em> to true.
+		For example, if the executable launcher and the application jar named
+		<i>calc.exe</i> and <i>calc.jar</i> are in the same directory
+		then you would use <i><jar>calc.jar</jar></i>
+		and <em><dontWrapJar>true</dontWrapJar></em>.
+	</dd>
+</dl>
+<dl>
+	<dt><dontWrapJar></dt>
+	<dd>
+		Optional, defaults to false. Launch4j by default wraps jars in native
+		executables, you can prevent this by setting <em><dontWrapJar></em> to true.
+		The exe acts then as a launcher and starts the application specified in
+		<em><jar></em> or <em><classPath><mainClass></em>
+	</dd>
+</dl>
+<dl>
+	<dt><errTitle></dt>
+	<dd>
+		Optional, sets the title of the error message box that's displayed if Java cannot
+		be found for instance. This usually should contain the name of your
+		application. The console header prefixes error messages with this
+		property (myapp: error...)
+	</dd>
+</dl>
+<dl>
+	<dt><cmdLine></dt>
+	<dd>Optional, constant command line arguments.</dd>
+</dl>
+<dl>
+	<dt><chdir></dt>
+	<dd>Optional. Change current directory to an arbitrary path relative to the executable.
+		If you omit this property or leave it blank it will have no effect.
+		Setting it to <em>.</em> will change the current dir to the same directory
+		as the executable. <em>..</em> will change it to the parent directory, and so on.
+	</dd>
+	<dd>
+		<pre><chdir>.</chdir></pre>
+	</dd>
+	<dd>
+		<pre><chdir>../somedir</chdir></pre>
+	</dd>
+</dl>
+<dl>
+	<dt><stayAlive></dt>
+	<dd>Optional, defaults to false in GUI header, always true in console header.
+		When enabled the launcher waits for the Java application
+		to finish and returns it's exit code.
+	</dd>
+</dl>
+<dl>
+	<dt><restartOnCrash></dt>
+	<dd>Optional, defaults to false.
+		When the application exits, any exit code other than 0 is considered a crash and the application will be started again.
+	</dd>
+</dl>
+<dl>
+	<dt><icon></dt>
+	<dd>Application icon in ICO format. May contain multiple color depths/resolutions.</dd>
+</dl>
+<dl>
+	<dt><obj></dt>
+	<dd>Optional, custom headers only. Ordered list of header object files.</dd>
+</dl>
+<dl>
+	<dt><lib></dt>
+	<dd>Optional, custom headers only. Ordered list of libraries used by header.</dd>
+</dl>
+<dl>
+	<dt><singleInstance></dt>
+	<dd>Optional, allow to run only a single instance of the application.</dd>
+</dl>
+<blockquote>
+	<dl>
+		<dt><mutexName></dt>
+		<dd>Unique mutex name that will identify the application.</dd>
+		<dt><windowTitle></dt>
+		<dd>Optional, recognized by GUI header only. Title or title part of a window
+			to bring up instead of running a new instance.
+		</dd>
+	</dl>
+</blockquote>
+<dl>
+	<dt><jre></dt>
+	<dd>Required element that groups JRE settings.</dd>
+</dl>
+<blockquote>
+    <dl>
+    	<dt><path>, <minVersion>, <maxVersion></dt>
+        <dd>The <em><path></em> property is used
+    		to specify the absolute or relative path (to the executable) of a bundled JRE, it
+    		does not rely on the current directory or <em><chdir></em>.
+    		Note that this path is not checked until the actual application execution.
+    		If you'd like the wrapper to search for a JRE (public or SDK private)
+    		use the <em><minVersion></em> property, you may also specify
+    		the <em><maxVersion></em> to prevent it from using higher Java versions.
+    		Launch4j will always use the highest version available (in the min/max range of course).
+    		If a Sun's JRE is not available or does not satisfy the search criteria,
+    		the search will be repeated on IBM runtimes.
+    		You can also combine these properties to change the startup process...
+    	</dd>
+	</dl>
+	<blockquote>
+        <dl>
+        	<dt><path></dt>
+        	<dd>Run if bundled JRE and javaw.exe are present, otherwise stop with error.</dd>
+            <dt><path> + <minVersion>  [+ <maxVersion>]</dt>
+            <dd>Use bundled JRE first, if it cannot be located search for Java,
+        		if that fails display error message and open the Java download page.
+        	</dd>
+            <dt><minVersion>  [+ <maxVersion>]</dt>
+            <dd>Search for Java, if an appropriate version cannot be found display
+        		error message and open the Java download page.
+        	</dd>
+        </dl>
+	</blockquote>
+</blockquote>
+<blockquote>
+	<dl>
+		<dt><bundledJre64Bit></dt>
+		<dd>Optional, defaults to false which limits the calculated heap size to the 32-bit maximum.
+			Set to true in order to use the available memory without this limit. This option works 
+			in combination with the HeapSize and HeapPercent options only if the found JRE is a bundled one.
+			In the standard JRE search based on registry the wrapper detects the type of JRE itself
+			and uses the 32-bit heap limit when needed. 
+		</dd>
+	</dl>
+</blockquote>
+<blockquote>
+	<dl>
+		<dt><bundledJreAsFallback></dt>
+		<dd>Optional, defaults to false which treats the bundled JRE as the primary runtime.
+			When set to true, the bundled JRE will only be used in case the mix/max version search fails.
+			This can be used as a fallback option if the user does not have the required Java installed
+			and the bundled JRE	is provided on a CD or shared network location.
+		</dd>
+	</dl>
+</blockquote>
+<blockquote>
+	<dl>
+		<dt><jdkPreference></dt>
+		<dd>Optional, defaults to preferJre; Allows you to specify a preference
+			for a public JRE or a private JDK runtime. Valid values are:
+		</dd>
+	</dl>
+	<blockquote>
+		<dl>
+			<dt>jreOnly</dt>
+			<dd>Always use a public JRE (equivalent to the
+				old option dontUsePrivateJres=true)</dd>
+			<dt>preferJre</dt>
+			<dd>Prefer a public JRE, but use a JDK private
+				runtime if it is newer than the public
+				JRE (equivalent to the old option
+				dontUsePrivateJres=false)</dd>
+			<dt>preferJdk</dt>
+			<dd>Prefer a JDK private runtime, but use a
+				public JRE if it is newer than the JDK
+			</dd>
+			<dt>jdkOnly</dt>
+			<dd>Always use a private JDK runtime (fails
+				if there is no JDK installed)
+			</dd>
+		</dl>
+	</blockquote>
+	<dl>
+		<dt><runtimeBits></dt>
+		<dd>Optional, defaults to 64/32; Allows to select between 64-bit and 32-bit runtimes.
+			Valid values are:
+		</dd>
+	</dl>
+	<blockquote>
+		<dl>
+			<dt>64</dt>
+			<dd>Use only 64-bit runtimes</dd>
+			<dt>64/32</dt>
+			<dd>Use 64-bit runtimes if available, otherwise use 32-bit</dd>
+			<dt>32/64</dt>
+			<dd>Use 32-bit runtimes if available, otherwise use 64-bit</dd>
+			<dt>32</dt>
+			<dd>Use only 32-bit runtimes</dd>
+		</dl>
+	</blockquote>
+	<dl>
+		<dt>HeapSize, HeapPercent</dt>
+		<dd>If size and percent are specified, then the setting which yields
+			more memory will be chosen at runtime. In other words, setting both values
+			means: percent of available memory no less than size in MB.
+		</dd>
+	</dl>
+	<blockquote>
+		<dl>
+			<dt><initialHeapSize></dt>
+			<dd>Optional, initial heap size in MB.</dd>
+		</dl>
+		<dl>
+			<dt><initialHeapPercent></dt>
+			<dd>Optional, initial heap size in % of available memory.</dd>
+		</dl>
+		<dl>
+			<dt><maxHeapSize></dt>
+			<dd>Optional, max heap size in MB.</dd>
+		</dl>
+		<dl>
+			<dt><maxHeapPercent></dt>
+			<dd>Optional, max heap size in % of available memory.</dd>
+		</dl>	
+	</blockquote>
+	<dl>
+		<dt><opt></dt>
+		<dd>Optional, accepts everything you would normally pass to
+			java/javaw launcher: assertion options, system properties and X options.
+			Here you can map environment and special variables <em>EXEDIR</em>
+			(exe's runtime directory), <em>EXEFILE</em> (exe's runtime full file path)
+			to system properties. All variable references must be surrounded with
+			percentage signs and quoted.
+<pre>
+<opt>-Dlaunch4j.exedir="%EXEDIR%"</opt>
+<opt>-Dlaunch4j.exefile="%EXEFILE%"</opt>
+<opt>-Denv.path="%Path%"</opt>
+<opt>-Dsettings="%HomeDrive%%HomePath%\\settings.ini"</opt>
+</pre>
+		</dd>
+	</dl>
+</blockquote>
+
+<dl>
+	<dt><splash></dt>
+	<dd>Optional, groups the splash screen settings. Allowed only in GUI header.</dd>
+</dl>
+<blockquote>
+	<dl>
+		<dt><file></dt>
+		<dd>Splash screen image in BMP format.</dd>
+	</dl>
+	<dl>
+		<dt><waitForWindow></dt>
+		<dd>Optional, defaults to true. Close the splash screen when an application
+			window or Java error message box appears. If set to false,
+			the splash screen will be closed on timeout.
+		</dd>
+	</dl>
+	<dl>
+		<dt><timeout></dt>
+		<dd>Optional, defaults to 60. Number of seconds after which the splash screen
+			must be closed. Splash timeout may cause an error depending on
+			<em><timeoutErr></em>.
+		</dd>
+	</dl>
+	<dl>
+		<dt><timeoutErr></dt>
+		<dd>Optional, defaults to true. True signals an error on splash timeout,
+			false closes the splash screen quietly.
+		</dd>
+	</dl>
+</blockquote>
+
+<dl>
+	<dt><versionInfo></dt>
+	<dd>Optional, version information to be displayed by the Windows Explorer.</dd>
+</dl>
+<blockquote>
+	<dl>
+		<dt><fileVersion></dt>
+		<dd>Version number 'x.x.x.x'</dd>
+	</dl>
+	<dl>
+		<dt><txtFileVersion></dt>
+		<dd>Free form file version, for example '1.20.RC1'.</dd>
+	</dl>
+	<dl>
+		<dt><fileDescription></dt>
+		<dd>File description presented to the user.</dd>
+	</dl>
+	<dl>
+		<dt><copyright></dt>
+		<dd>Legal copyright.</dd>
+	</dl>
+	<dl>
+		<dt><productVersion></dt>
+		<dd>Version number 'x.x.x.x'</dd>
+	</dl>
+	<dl>
+		<dt><txtProductVersion></dt>
+		<dd>Free form file version, for example '1.20.RC1'.</dd>
+	</dl>
+	<dl>
+		<dt><productName></dt>
+		<dd>Text.</dd>
+	</dl>
+	<dl>
+		<dt><companyName></dt>
+		<dd>Optional text.</dd>
+	</dl>
+	<dl>
+		<dt><internalName></dt>
+		<dd>Internal name without extension, original filename or module name for example.</dd>
+	</dl>
+	<dl>
+		<dt><originalFilename></dt>
+		<dd>Original name of the file without the path. Allows to determine
+			whether a file has been renamed by a user.
+		</dd>
+	</dl>
+</blockquote>
+
+<h2 id="Importing_1.x_configuration">Importing 1.x configuration</h2>
+It's possible to import a 1.x configuration file using the GUI
+interface. Open the file, correct the paths and save it as a new xml
+configuration.
+
+<h2 id="Ant_task">Ant task</h2>
+You may set a launch4j directory property or change the task definition.
+
+<pre><property name="launch4j.dir" location="/opt/launch4j" /></pre>
+
+Define the task in your Ant build script.
+
+<pre>
+<taskdef name="launch4j"
+    classname="net.sf.launch4j.ant.Launch4jTask"
+    classpath="${launch4j.dir}/launch4j.jar
+        :${launch4j.dir}/lib/xstream.jar" />
+</pre>
+
+Execute the task!
+
+<pre><launch4j configFile="./l4j/demo.xml" /></pre>
+
+You can set or override the following configuration properties...
+<p class="attrib">
+	jar="absolute path or relative to <em>basedir</em>"<br>
+	jarPath="relative path"<br>	
+	outfile<br>
+	fileVersion<br>
+	txtFileVersion<br>
+	productVersion<br>
+	txtProductVersion<br>
+	bindir="<a href="#Settings">alternate bin directory...</a>"<br>
+	tmpdir="<a href="#Settings">alternate working directory...</a>"
+</p>
+
+<pre>
+<launch4j configFile="./l4j/demo.xml" outfile="mydemo.exe"
+    fileVersion="1.0.0.0" txtFileVersion="1.0 RC2" />
+</pre>
+
+You can also define the entire configuration in the task, but it will
+not be possible to edit such a file in the GUI mode. All paths except
+for <em><chdir></em>, <em><jre><path></em> and <em>jarPath</em>
+are calculated using the <em>basedir</em> project attribute.
+
+<pre>
+<launch4j>
+  <config headerType="gui" outfile="demo.exe"
+      dontWrapJar="true" jarPath="demo.jar" >
+    <var>SETTINGS="%HomeDrive%%HomePath%\\settings.ini"</var>
+    <classPath mainClass="org.demo.DemoApp">
+        <cp>./lib/looks.jar</cp>
+        <cp>%USER_LIBS%/*.jar</cp>
+    </classPath>
+    <jre minVersion="1.4.0">
+        <opt>-Dlaunch4j.exedir="%EXEDIR%"</opt>
+        <opt>-Dlaunch4j.exefile="%EXEFILE%"</opt>
+    </jre>
+  </config>
+</launch4j>
+</pre>
+
+<h2 id="Additional_jvm_options">Additional JVM options at runtime</h2>
+When you create a wrapper or launcher all configuration details are compiled into the
+executable and cannot be changed without recreating it or hacking with a resource editor.
+Launch4j 2.1.2 introduces a new feature that allows to pass additional JVM options
+at runtime from an .l4j.ini file. Now you can specify the options in the configuration file,
+ini file or in both, but you cannot override them. The ini file's name must correspond
+to the executable's <em>(myapp.exe : myapp.l4j.ini)</em>.
+The arguments should be separated with spaces or new lines, environment variable
+expansion is supported, for example:
+<pre>
+# Launch4j runtime config
+-Dswing.aatext=true
+-Dsomevar="%SOMEVAR%"
+-Xms16m
+</pre>
+
+<h2>Environemnt variables</h2>
+The following variables can be used in the configuration file (elements which contain %VAR%).
+They are substitued during runtime, so for example the EXEDIR is the directory where the user installed the wrapped application.
+<dl>
+	<dt class="option">%VAR%</dt>
+	<dd>
+		Any environment variable, for example %HOMEPATH%.
+	</dd>
+
+	<dt class="option">%EXEDIR%</dt>
+	<dd>
+		Wrapper directory path.
+	</dd>
+	
+	<dt class="option">%EXEFILE%</dt>
+	<dd>
+		Wrapper executable file path.
+	</dd>
+	
+	<dt class="option">%PWD%</dt>
+	<dd>
+		Current directory, after chdir was applied.
+	</dd>
+	
+	<dt class="option">%OLDPWD%</dt>
+	<dd>
+		Directory before chdir was applied.
+	</dd>
+	
+	<dt class="option">%JREHOMEDIR%</dt>
+	<dd>
+		Path to the JRE which was selected for executing the application. 
+	</dd>
+	
+	<dt class="option">%HKEY_...\...%</dt>
+	<dd>
+		Registry key value, e.g.<br />
+		%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MemoryDiagnostic\LastScanTime%
+	</dd>
+</dl>
+
+<h2 id="Runtime_options">Runtime options</h2>
+<dl>
+	<dt class="option">--l4j-debug</dt>
+	<dd>
+		To make sure the output executable is configured correctly you can use the
+		debug launching mode to log various information to the launch4j.log file.
+		Environment variable can also be used...<br />
+		SET Launch4j=debug
+	</dd>
+
+	<dt class="option">--l4j-debug-all</dt>
+	<dd>
+		Same as above, but additionally log loaded resources (options stored during wrapper creation).
+		Environment variable can also be used...<br />
+		SET Launch4j=debug-all
+	</dd>	
+	
+	<dt class="option">--l4j-dont-wait</dt>
+	<dd>
+		Disable the "stay alive" function.
+	</dd>
+
+	<dt class="option">--l4j-no-splash</dt>
+	<dd>
+		Disable the splash screen.
+	</dd>
+
+	<dt class="option">--l4j-no-splash-err</dt>
+	<dd>
+		Disable splash screen error on timeout, might be useful on very slow computers.
+	</dd>
+</dl>
+
+<h2 id="Settings">Settings</h2>
+These settings are only used during building of the launcher or wrapper, not during their execution.
+<dl>
+	<dt>Alternate bin directory: launch4j.bindir</dt>
+	<dd>
+		It's possible to override the default bin directory location which contains windres and ld
+		tools using the <em>launch4j.bindir</em> system property. The property can have two forms:
+		a path relative to Launch4j's directory (<em>altbin</em> for example) or an absolute path.
+	<dd>
+
+  <dt>Working directory: launch4j.tmpdir</dt>
+  <dd>Change the working directory if the default path contains spaces which windres cannot handle.</dd>
+</dl>
+			</div>
+			<div class="footer">
+			    All trademarks mentioned are properties of their respective owners.<br />
+            	Copyright © 2005-2015 Grzegorz Kowal
+            	<p style="margin-top: 0.5em">
+            	    <a href="https://sourceforge.net/p/launch4j/" rel="nofollow"><img alt="Download Launch4j Executable Wrapper" src="https://sourceforge.net/sflogo.php?type=16&group_id=95944"></a>
+            	</p>
+			</div>
+		</div>
+	</body>
+</html>
diff --git a/packaging_tools/windows/launch4j/web/index.html b/packaging_tools/windows/launch4j/web/index.html
new file mode 100644
index 0000000..e527b39
--- /dev/null
+++ b/packaging_tools/windows/launch4j/web/index.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+	<head>
+		<title>Launch4j - Cross-platform Java executable wrapper</title>
+		<meta name="description" content="Cross-platform Java executable wrapper for creating lightweight Windows native EXEs. Provides advanced JRE search, application startup configuration and better user experience.">
+		<meta name="keywords" content="java executable wrapper, java application wrapper, exe wrapper, jar wrapper, wrap, wraps, wrapping, free software, launch, launcher, linux, mac, windows, open source, ant, native splash screen, deploy, build tool">
+		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+		<meta name="author" content="Grzegorz Kowal" >
+		<link rel="stylesheet" type="text/css" href="style.css">
+	</head>
+	<body>
+		<div id="container">
+			<div id="top">
+				<img style="width: 249px; height: 58px;" src="launch4j.gif" alt="launch4j"> <span class="version">3.8</span>
+			</div>
+			<div id="leftnav">
+				<ul>
+					<li><a href="index.html">Home</a></li>
+					<li><a href="docs.html">Docs</a></li>
+					<li><a href="changelog.html">Changelog</a></li>
+					<li><a href="http://sourceforge.net/project/screenshots.php?group_id=95944">Screenshots</a></li>
+					<li><a href="http://sourceforge.net/projects/launch4j/files/launch4j-3/3.8">Download</a></li>
+					<li><a href="http://sourceforge.net/projects/launch4j/support">Support</a></li>
+					<li><a href="http://sourceforge.net/projects/launch4j">Project summary</a></li>
+					<li><a href="http://sourceforge.net/tracker/?atid=613100&group_id=95944">Bug tracker</a></li>
+					<li><a href="links.html">Links</a></li>
+				</ul>
+				<br />
+				<a class="button" href="https://sourceforge.net/projects/launch4j/files/launch4j-3/3.8" rel="nofollow"><img alt="Downloads" src="https://img.shields.io/sourceforge/dm/launch4j.svg"></a>
+				<a class="button" href="https://sourceforge.net/p/launch4j/" rel="nofollow"><img alt="Download Launch4j" src="https://sourceforge.net/sflogo.php?type=10&group_id=95944"></a>
+			</div>
+			<div id="content">
+<h2>Cross-platform Java executable wrapper</h2>
+<p>
+    Launch4j is a cross-platform tool for wrapping
+    Java applications distributed as jars in lightweight Windows
+    native executables. The executable can be
+    configured to search for a certain JRE version or
+    use a bundled one, and it's possible to set
+    runtime options, like the initial/max heap size.
+    The wrapper also provides better user experience
+    through an application icon, a native pre-JRE
+    splash screen, and a Java download page in case
+    the appropriate JRE cannot be found.
+</p>
+<img style="width: 352px; height: 498px; margin-left: 100px;" src="launch4j-use.gif" alt="How to use Launch4">
+<h2>Features</h2>
+<ul>
+	<li>Launch4j wraps jars in Windows native executables and allows to run them
+		like a regular Windows program. It's possible to wrap applications
+		on Windows, Linux and Mac OS X!
+	</li>
+	<li>Also creates <strong>launchers</strong> for jars and class files without wrapping.</li>
+	<li>
+		Supports executable jars and <strong>dynamic classpath</strong> resolution using
+		environment variables and wildcards.
+	</li>
+	<li><strong>Doesn't extract the jar</strong> from the executable.</li>
+	<li>Custom application icon with multiple resolutions and color depths.</li>
+	<li><strong>Native pre-JRE splash screen</strong> in BMP format shown until
+		the Java application starts.
+	</li>
+	<li>Initial <strong>priority</strong> and <strong>single application instance</strong> features.
+	</li>
+	<li>Works with a bundled JRE or searches for newest Sun or IBM JRE / JDK in given
+		version range and type (64-bit or 32-bit).</li>
+	<li>Opens <strong>Java download page</strong> if an appropriate Java version cannot be
+		found or a <strong>support website</strong> in case of an error.
+	</li>
+	<li>Supports <strong>GUI and console apps</strong>.</li>
+	<li>Supports Windows <strong>application manifests</strong>.</li>
+	<li>Passes command line arguments, also supports constant arguments.</li>
+	<li>Allows to set the initial/max heap size also <strong>dynamically</strong> in percent of free memory.</li>
+	<li>JVM options: set system properties, tweak the garbage collection...</li>
+	<li>Runtime JVM options from an .l4j.ini file.</li>
+	<li>Runtime command line switches to change the compiled options.</li>
+	<li>Access to environment variables, the <strong>registry</strong> and executable file path through system properties.</li>
+	<li><strong>Set environment variables.</strong></li>
+	<li>Option to change current directory to the executable location.</li>
+	<li>The JRE's bin directory is appended to the Path environment variable.</li>
+	<li>Ability to restart the application based on exit code.</li>
+	<li>Custom <strong>version information</strong> shown by Windows Explorer.</li>
+	<li>Digital signing of the executable with sign4j.</li>
+	<li>Supports Windows Security Features of the Windows 8 certification kit.</li>
+	<li><strong>GUI</strong> and command line interface.</li>
+	<li>Build integration through an <strong>Ant task</strong> and a <strong><a href="https://github.com/lukaszlenart/launch4j-maven-plugin">Maven Plugin</a></strong>.</li>
+	<li><strong>Lightweight: 35 KB!</strong></li>
+	<li><strong>It's free</strong> and may be used for commercial purposes.</li>
+	<li>Includes a sample application and <strong>Ant script</strong>
+		that automates the build process from Java sources to native executable.
+	</li>
+	<li>The wrapped program works on all Windows platforms (98/Me/NT/2K/XP/Vista/7/8),
+		Launch4j works on NT/2K/XP/Vista/7/8, Linux and Mac OS X.
+	</li>
+</ul>
+<h2>License</h2>
+<p>
+	This program is free software licensed under the
+	<a href="http://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</a>, the <em>head</em> subproject
+	(the code which is attached to the wrapped jars) is licensed under the
+	<a href="http://opensource.org/licenses/mit-license.html">MIT License</a>.
+	Launch4j may be used for wrapping closed source, commercial applications.
+</p>
+<h2>Info</h2>
+<p>
+	Running Launch4j on other Java enabled platforms is a matter of getting a binary version
+	of <a href="http://www.mingw.org/">MinGW</a> binutils 2.22 (<em>windres</em> and <em>ld</em> only)
+	for your system or compiling them. If you'll provide these, I'll be able to create a binary package
+	available for download.
+</p>
+<a href="http://sourceforge.net/forum/forum.php?forum_id=332683"></a>
+			</div>
+			<div class="footer">
+			    All trademarks mentioned are properties of their respective owners.<br />
+            	Copyright © 2005-2015 Grzegorz Kowal
+            	<p style="margin-top: 0.5em">
+            	    <a href="https://sourceforge.net/p/launch4j/" rel="nofollow"><img alt="Download Launch4j Executable Wrapper" src="https://sourceforge.net/sflogo.php?type=16&group_id=95944"></a>
+            	</p>
+			</div>
+		</div>
+	</body>
+</html>
diff --git a/packaging_tools/windows/launch4j/web/launch4j-use.gif b/packaging_tools/windows/launch4j/web/launch4j-use.gif
new file mode 100644
index 0000000..ccb8882
Binary files /dev/null and b/packaging_tools/windows/launch4j/web/launch4j-use.gif differ
diff --git a/packaging_tools/windows/launch4j/web/launch4j.gif b/packaging_tools/windows/launch4j/web/launch4j.gif
new file mode 100644
index 0000000..2755207
Binary files /dev/null and b/packaging_tools/windows/launch4j/web/launch4j.gif differ
diff --git a/packaging_tools/windows/launch4j/web/links.html b/packaging_tools/windows/launch4j/web/links.html
new file mode 100644
index 0000000..b9d4208
--- /dev/null
+++ b/packaging_tools/windows/launch4j/web/links.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+	<head>
+		<title>Launch4j - Cross-platform Java executable wrapper</title>
+		<meta name="description" content="Cross-platform Java executable wrapper for creating lightweight Windows native EXEs. Provides advanced JRE search, application startup configuration and better user experience.">
+		<meta name="keywords" content="java executable wrapper, java application wrapper, exe wrapper, jar wrapper, wrap, wraps, wrapping, free software, launch, launcher, linux, mac, windows, open source, ant, native splash screen, deploy, build tool">
+		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+		<meta name="author" content="Grzegorz Kowal" >
+		<link rel="stylesheet" type="text/css" href="style.css">
+	</head>
+	<body>
+		<div id="container">
+			<div id="top">
+				<img style="width: 249px; height: 58px;" src="launch4j.gif" alt="launch4j"> <span class="version">3.8</span>
+			</div>
+			<div id="leftnav">
+				<ul>
+					<li><a href="index.html">Home</a></li>
+					<li><a href="docs.html">Docs</a></li>
+					<li><a href="changelog.html">Changelog</a></li>
+					<li><a href="http://sourceforge.net/project/screenshots.php?group_id=95944">Screenshots</a></li>
+					<li><a href="http://sourceforge.net/projects/launch4j/files/launch4j-3/3.8">Download</a></li>
+					<li><a href="http://sourceforge.net/projects/launch4j/support">Support</a></li>
+					<li><a href="http://sourceforge.net/projects/launch4j">Project summary</a></li>
+					<li><a href="http://sourceforge.net/tracker/?atid=613100&group_id=95944">Bug tracker</a></li>
+					<li><a href="links.html">Links</a></li>
+				</ul>
+				<br />
+				<a class="button" href="https://sourceforge.net/projects/launch4j/files/launch4j-3/3.8" rel="nofollow"><img alt="Downloads" src="https://img.shields.io/sourceforge/dm/launch4j.svg"></a>
+				<a class="button" href="https://sourceforge.net/p/launch4j/" rel="nofollow"><img alt="Download Launch4j" src="https://sourceforge.net/sflogo.php?type=10&group_id=95944"></a>
+			</div>
+			<div id="content">
+<h2>Links</h2>
+<p>
+	<a href="https://github.com/lukaszlenart/launch4j-maven-plugin">Maven plugin by Lukasz Lenart<a><br>
+	<a href="http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22net.sf.launch4j%22%20AND%20a%3A%22launch4j%22">Maven Central Repository</a><br>
+    <a href="http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe">Bloodshed Dev-C++</a><br>
+	<a href="http://www.mingw.org/">MinGW</a><br>
+	<a href="http://jakarta.apache.org/commons/beanutils/">Commons BeanUtils</a><br>
+	<a href="http://jakarta.apache.org/commons/logging/">Commons Logging</a><br>
+	<a href="http://xstream.codehaus.org/">XStream</a><br>
+	<a href="http://www.jgoodies.com/freeware/libraries/">JGoodies</a><br>
+	<a href="http://www.eclipse.org/">Eclipse</a><br>
+</p>
+<h3>Windows native installers</h3>
+<p>
+	<a href="http://nsis.sourceforge.net/">NSIS</a> (cross-platform, targets Windows)<br>
+	<a href="http://www.jrsoftware.org/isinfo.php">Inno Setup</a><br>
+</p>
+			</div>
+			<div class="footer">
+			    All trademarks mentioned are properties of their respective owners.<br />
+            	Copyright © 2005-2015 Grzegorz Kowal
+            	<p style="margin-top: 0.5em">
+            	    <a href="https://sourceforge.net/p/launch4j/" rel="nofollow"><img alt="Download Launch4j Executable Wrapper" src="https://sourceforge.net/sflogo.php?type=16&group_id=95944"></a>
+            	</p>
+			</div>
+		</div>
+	</body>
+</html>
diff --git a/packaging_tools/windows/launch4j/web/style.css b/packaging_tools/windows/launch4j/web/style.css
new file mode 100644
index 0000000..c09ccff
--- /dev/null
+++ b/packaging_tools/windows/launch4j/web/style.css
@@ -0,0 +1,166 @@
+body, table {
+	font: 12px/20px Verdana, Arial, Helvetica, sans-serif;
+}
+
+
+pre {
+	padding: 8px;
+	border: 1px dashed #999999;
+	background-color: #f1f1f1;
+	font: 13px/20px "Courier New", Courier, monospace;
+}
+
+
+.version {
+	color: #307fe1;
+	font-weight: bold;
+}
+
+
+.codeword {
+	color: #3333ff;
+}
+.attrib {
+	color: #404040;
+}
+.option {
+	font-family: "Courier New", Courier, monospace;
+	font-weight: bold;
+}
+
+
+dt {
+	margin-top: 1.5em;
+	color: #404040;
+	font-size: 115%;
+	border-bottom: 1px solid #cccccc;
+}
+dd {
+	margin-left: 1em;
+}
+
+
+.warn, ul.changes em {
+	color: #ff0000;
+}
+
+
+table {
+	margin-top: 1em;
+	padding: 0;
+	border: 1px solid #999999;
+	border-collapse: collapse;
+	text-align: center;
+}
+table th {
+	padding: 2px 4px;
+	border: 1px solid #999999;
+	background-color: #f1f1f1;
+}
+table td {
+	padding: 2px 4px;
+	border: 1px solid #999999;
+}
+.description {
+	text-align: left;
+}
+
+
+#container {
+	width: 90%;
+	margin: 10px auto;
+	border-width: 0;
+	background-color: #ffffff;
+}
+
+
+#top {
+	padding: 0.5em;
+	background-color: #ffffff;
+}
+#top h1 {
+	margin: 0;
+	padding: 0;
+}
+
+
+#leftnav {
+	float: left;
+	width: 170px;
+	margin: 0;
+	padding: 0.5em;
+	background-color: #ffffff;
+}
+#leftnav ul {
+	margin: 0;
+	padding: 0;
+	border: none;
+	list-style-type: none;
+	font-size: 115%;
+}
+#leftnav a {
+	width: 170px;
+	height: 1.6em;
+	line-height: 1.6em;
+	display: block;
+	padding-left: 0.2em;
+}
+#leftnav a:link, #leftnav a:visited {
+	text-decoration: none;
+	color: #666666;
+}
+#leftnav a:hover {
+	background-color: #307fe1;
+	color: #ffffff;
+}
+
+#leftnav a.button {
+	display: inline;
+}
+#leftnav a.button:hover {
+	background-color: transparent;
+}
+
+
+#content {
+	max-width: 52em;
+	margin-left: 190px;
+	padding: 1em;
+	border-left: 1px solid #cccccc;
+	background-color: #ffffff;
+}
+
+#content ul {
+	list-style-image: url('bullet.gif');
+}
+
+#content a:link {
+	text-decoration: none;
+	color: #307fe1;
+}
+#content a:visited {
+	text-decoration: none;
+	color: #307fe1;
+}
+#content a:hover {
+	color: #307fe1;
+	text-decoration: underline;
+}
+
+#content h2 {
+	font-size: 150%;
+}
+#content h2:first-child {
+	margin: 0 0 0.5em;
+}
+
+
+.footer {
+	clear: both;
+	margin: 0;
+	padding: 0.5em;
+	background-color: #ffffff;
+	color: #333333;
+	text-align: center;
+	font-size: 90%;
+}
diff --git a/src/dr/app/beagle/evomodel/branchmodel/BranchAssignmentModel.java b/src/dr/app/beagle/evomodel/branchmodel/BranchAssignmentModel.java
new file mode 100644
index 0000000..67b4d76
--- /dev/null
+++ b/src/dr/app/beagle/evomodel/branchmodel/BranchAssignmentModel.java
@@ -0,0 +1,172 @@
+package dr.app.beagle.evomodel.branchmodel;
+
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+
+import dr.app.beagle.evomodel.parsers.BranchAssignmentModelParser;
+import dr.app.beagle.evomodel.substmodel.FrequencyModel;
+import dr.app.beagle.evomodel.substmodel.SubstitutionModel;
+import dr.evolution.tree.NodeRef;
+import dr.evomodel.tree.TreeModel;
+import dr.inference.model.AbstractModel;
+import dr.inference.model.Model;
+import dr.inference.model.Variable;
+import dr.inference.model.Variable.ChangeType;
+
+ at SuppressWarnings("serial")
+public class BranchAssignmentModel extends AbstractModel implements BranchModel {
+
+	public static final String BRANCH_ASSIGNMENT_MODEL = "branchAssignmentModel";
+	
+	private TreeModel treeModel;
+	private final String annotation;
+	private final LinkedHashMap<Integer, SubstitutionModel> modelIndexMap;
+	private final SubstitutionModel baseModel;
+
+	private Integer baseModelIndex;
+	private LinkedHashMap<NodeRef, Integer> branchAssignmentMap;
+	private LinkedList<SubstitutionModel> substitutionModels;
+
+	public BranchAssignmentModel(
+			TreeModel treeModel, //
+			String annotation, //
+			LinkedHashMap<Integer, SubstitutionModel> modelIndexMap, //
+			SubstitutionModel baseModel//
+	) {
+
+		super(BRANCH_ASSIGNMENT_MODEL);
+
+		this.treeModel = treeModel;
+		this.annotation = annotation;
+		this.modelIndexMap = modelIndexMap;
+		this.baseModel = baseModel;
+
+		this.substitutionModels = new LinkedList<SubstitutionModel>();
+		this.branchAssignmentMap = new LinkedHashMap<NodeRef, Integer>();
+		// base model comes last
+		this.baseModelIndex = modelIndexMap.size();
+		
+		setup();
+
+	}// END: Constructor
+
+	private void setup() {
+		
+		// for (int i = 0; i < modelIndexMap.size() + 1; i++) {
+		// substitutionModels.add(null);
+		// }
+		
+		for (NodeRef node : this.treeModel.getNodes()) {
+			if (!treeModel.isRoot(node)) {
+
+				Integer modelIndex = Integer.MAX_VALUE;
+				SubstitutionModel model = null;
+				Object nodeAttribute = treeModel.getNodeAttribute(node,
+						annotation);
+
+				if (nodeAttribute == null) {
+
+					System.out
+							.println("Attribute "
+									+ annotation
+									+ " missing from node. Using base model as branch model.");
+
+					modelIndex = this.baseModelIndex;
+					model = this.baseModel;
+
+				} else {
+
+					modelIndex = (Integer) nodeAttribute;
+					model = this.modelIndexMap.get(modelIndex);
+
+				}
+
+				branchAssignmentMap.put(node, modelIndex);
+
+				// if (substitutionModels.get(modelIndex) == null) {
+				// substitutionModels.set(modelIndex, model);
+				// }
+
+				substitutionModels.add(model);
+
+			}// END: root check
+		}// END: nodes loop
+		
+	}//END: setup
+	
+	@Override
+	public Mapping getBranchModelMapping(NodeRef branch) {
+
+		final int modelIndex = branchAssignmentMap.get(branch);
+
+		return new Mapping() {
+			public int[] getOrder() {
+				return new int[] { modelIndex };
+			}
+
+			public double[] getWeights() {
+				return new double[] { 1.0 };
+			}
+		};
+	}// END: getBranchModelMapping
+
+	@Override
+	public List<SubstitutionModel> getSubstitutionModels() {
+		return substitutionModels;
+	}// END: getSubstitutionModels
+
+	@Override
+	public SubstitutionModel getRootSubstitutionModel() {
+
+		Object nodeAttribute = treeModel.getNodeAttribute(treeModel.getRoot(),
+				BranchAssignmentModelParser.ANNOTATION_VALUE);
+		SubstitutionModel model = null;
+
+		if (nodeAttribute == null) {
+
+			model = this.baseModel;
+
+		} else {
+
+			Integer modelIndex = (Integer) nodeAttribute;
+			model = this.modelIndexMap.get(modelIndex);
+
+		}
+
+		return model;
+	}// END: getRootSubstitutionModel
+
+	@Override
+	public FrequencyModel getRootFrequencyModel() {
+		return getRootSubstitutionModel().getFrequencyModel();
+	}
+
+	@Override
+	public boolean requiresMatrixConvolution() {
+		return false;
+	}
+
+	@Override
+	protected void handleModelChangedEvent(Model model, Object object, int index) {
+		fireModelChanged();
+	}
+
+	@Override
+	protected void handleVariableChangedEvent(@SuppressWarnings("rawtypes") Variable variable, int index,
+			ChangeType type) {
+	}
+
+	@Override
+	protected void storeState() {
+	}
+
+	@Override
+	protected void restoreState() {
+	}
+
+	@Override
+	protected void acceptState() {
+	}
+
+}// END: class
diff --git a/src/dr/app/beagle/evomodel/branchmodel/BranchModel.java b/src/dr/app/beagle/evomodel/branchmodel/BranchModel.java
index b089699..8c72245 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/BranchModel.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/BranchModel.java
@@ -1,7 +1,7 @@
 /*
  * BranchModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/branchmodel/BranchSpecificBranchModel.java b/src/dr/app/beagle/evomodel/branchmodel/BranchSpecificBranchModel.java
index b5d4a15..907512c 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/BranchSpecificBranchModel.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/BranchSpecificBranchModel.java
@@ -1,7 +1,7 @@
 /*
  * BranchSpecificBranchModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -53,6 +53,7 @@ public class BranchSpecificBranchModel extends AbstractModel implements BranchMo
 
     private boolean updateNodeMaps = true;
     private Map<NodeRef, Mapping> nodeMap = new HashMap<NodeRef, Mapping>();
+    private Map<NodeRef, Mapping> externalNodeMap = new HashMap<NodeRef, Mapping>();
 
     private final SubstitutionModel rootSubstitutionModel;
     private final List<SubstitutionModel> substitutionModels = new ArrayList<SubstitutionModel>();
@@ -96,20 +97,46 @@ public class BranchSpecificBranchModel extends AbstractModel implements BranchMo
         }
     }
 
-    public void addExternalBranches(TaxonList taxonList, SubstitutionModel substitutionModel, double weight) throws Tree.MissingTaxonException {
-        throw new UnsupportedOperationException("Not implemented yet");
+    public void addExternalBranches(TaxonList taxonList, SubstitutionModel substitutionModel) throws Tree.MissingTaxonException {
+        int x = substitutionModels.indexOf(substitutionModel);
+        if (x == -1) {
+            x = substitutionModels.size();
+            substitutionModels.add(substitutionModel);
+            addModel(substitutionModel);
+        }
+        final int index = x;
+
+        for (int i = 0; i < treeModel.getExternalNodeCount(); i++) {
+            NodeRef node = treeModel.getExternalNode(i);
+
+            externalNodeMap.put(node, new Mapping() {
+                //            @Override
+                public int[] getOrder() {
+                    return new int[]{index};
+                }
+
+                //            @Override
+                public double[] getWeights() {
+                    return new double[]{1.0};
+                }
+            });
+        }
     }
 
     public void addBackbone(TaxonList taxonList, SubstitutionModel substitutionModel) throws Tree.MissingTaxonException {
         throw new UnsupportedOperationException("Not implemented yet");
     }
 
-//    @Override // use java 1.5
+    @Override
     public Mapping getBranchModelMapping(NodeRef branch) {
         if (updateNodeMaps) {
             setupNodeMaps();
         }
-        Mapping mapping = nodeMap.get(branch);
+        Mapping mapping = externalNodeMap.get(branch);
+        if (mapping != null) {
+            return mapping;
+        }
+        mapping = nodeMap.get(branch);
         if (mapping != null) {
             return mapping;
         }
@@ -136,7 +163,7 @@ public class BranchSpecificBranchModel extends AbstractModel implements BranchMo
     }
 
     public void handleModelChangedEvent(Model model, Object object, int index) {
-        if (model == treeModel) {
+        if (model == treeModel && clades.size() > 0) {
             updateNodeMaps = true;
         }
         fireModelChanged();
@@ -149,7 +176,9 @@ public class BranchSpecificBranchModel extends AbstractModel implements BranchMo
     }
 
     protected void restoreState() {
-        updateNodeMaps = true;
+        if (clades.size() > 0) {
+            updateNodeMaps = true;
+        }
     }
 
     protected void acceptState() {
@@ -157,7 +186,10 @@ public class BranchSpecificBranchModel extends AbstractModel implements BranchMo
 
 
     private void setupNodeMaps() {
-        setupNodeMaps(treeModel, treeModel.getRoot(), new BitSet());
+        if (clades.size() > 0) {
+            setupNodeMaps(treeModel, treeModel.getRoot(), new BitSet());
+        }
+        updateNodeMaps = false;
     }
 
     private void setupNodeMaps(Tree tree, NodeRef node, BitSet tips) {
diff --git a/src/dr/app/beagle/evomodel/branchmodel/EpochBranchModel.java b/src/dr/app/beagle/evomodel/branchmodel/EpochBranchModel.java
index 6cc0827..2dcd8e5 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/EpochBranchModel.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/EpochBranchModel.java
@@ -1,7 +1,7 @@
 /*
  * EpochBranchModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/branchmodel/ExternalInternalBranchModel.java b/src/dr/app/beagle/evomodel/branchmodel/ExternalInternalBranchModel.java
index 7bedb7f..9b88ca1 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/ExternalInternalBranchModel.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/ExternalInternalBranchModel.java
@@ -1,7 +1,7 @@
 /*
  * ExternalInternalBranchModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/branchmodel/HomogeneousBranchModel.java b/src/dr/app/beagle/evomodel/branchmodel/HomogeneousBranchModel.java
index 75f950f..fcb7fa3 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/HomogeneousBranchModel.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/HomogeneousBranchModel.java
@@ -1,7 +1,7 @@
 /*
  * HomogeneousBranchModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/branchmodel/RandomBranchAssignmentModel.java b/src/dr/app/beagle/evomodel/branchmodel/RandomBranchAssignmentModel.java
new file mode 100644
index 0000000..394755a
--- /dev/null
+++ b/src/dr/app/beagle/evomodel/branchmodel/RandomBranchAssignmentModel.java
@@ -0,0 +1,156 @@
+/*
+ * RandomBranchAssignmentModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.app.beagle.evomodel.branchmodel;
+
+import java.util.LinkedHashMap;
+import java.util.List;
+
+import dr.app.beagle.evomodel.substmodel.FrequencyModel;
+import dr.app.beagle.evomodel.substmodel.SubstitutionModel;
+import dr.evolution.tree.NodeRef;
+import dr.evomodel.tree.TreeModel;
+import dr.inference.model.AbstractModel;
+import dr.inference.model.Model;
+import dr.inference.model.Variable;
+import dr.inference.model.Variable.ChangeType;
+import dr.math.MathUtils;
+
+ at SuppressWarnings("serial")
+public class RandomBranchAssignmentModel extends AbstractModel implements BranchModel {
+
+	public static final boolean DEBUG = true;
+	
+    public static final String RANDOM_BRANCH_ASSIGNMENT_MODEL = "randomBranchAssignmentModel";
+    private final TreeModel treeModel;
+    private final List<SubstitutionModel> substitutionModels;
+    
+//    private int[] order;
+    private LinkedHashMap<NodeRef, Integer> branchAssignmentMap;
+    
+	public RandomBranchAssignmentModel(TreeModel treeModel,
+            List<SubstitutionModel> substitutionModels) {
+		
+		super(RANDOM_BRANCH_ASSIGNMENT_MODEL);
+		
+		
+		this.treeModel = treeModel;
+		this.substitutionModels = substitutionModels;
+		
+		int nodeCount = treeModel.getNodeCount();
+		int nModels = substitutionModels.size();
+		
+		// randomly decide order, once and for all
+		branchAssignmentMap = new LinkedHashMap<NodeRef, Integer>();
+		for (int i = 0; i < nodeCount; i++) {
+
+			NodeRef node = treeModel.getNode(i);
+			int branchClass = Integer.MAX_VALUE; //MathUtils.nextInt(nModels);
+			
+			if(DEBUG) {
+				
+//				System.out.println(node.toString());
+				
+				// hack to get fixed indexing
+				if(node.toString().equalsIgnoreCase("node 0, height=0.0: SimSeq1") || 
+						node.toString().equalsIgnoreCase("node 1, height=0.0: SimSeq2") ||
+						node.toString().equalsIgnoreCase("node 4, height=22.0")
+						) {
+					branchClass = 0; // 5
+				} else {
+					branchClass = 1; // 10
+				}//END: node check
+				
+			} else {
+				branchClass = MathUtils.nextInt(nModels);
+			}//END: DEBUG check
+			
+			branchAssignmentMap.put(node, branchClass);
+			
+		}// END: nodes loop		
+		
+	}//END: Constructor
+	
+	@Override
+	public Mapping getBranchModelMapping(NodeRef branch) {
+		
+		final int branchClass = branchAssignmentMap.get(branch);
+		
+        return new Mapping() {
+            public int[] getOrder() {
+                return new int[] { branchClass };
+            }
+
+            public double[] getWeights() {
+                return new double[] { 1.0 };
+            }
+        };
+	}
+
+	@Override
+	public List<SubstitutionModel> getSubstitutionModels() {
+		return substitutionModels;
+	}
+
+	@Override
+	public SubstitutionModel getRootSubstitutionModel() {
+		int rootClass = branchAssignmentMap.get(treeModel.getRoot());
+		return substitutionModels.get(rootClass);
+	}
+
+	@Override
+	public FrequencyModel getRootFrequencyModel() {
+		return getRootSubstitutionModel().getFrequencyModel();
+	}
+
+	@Override
+	public boolean requiresMatrixConvolution() {
+		return false;
+	}
+
+	@Override
+	protected void handleModelChangedEvent(Model model, Object object, int index) {
+		fireModelChanged();
+	}
+
+	@Override
+	protected void handleVariableChangedEvent(Variable variable, int index,
+			ChangeType type) {
+	}
+
+	@Override
+	protected void storeState() {
+	}
+
+	@Override
+	protected void restoreState() {
+	}
+
+	@Override
+	protected void acceptState() {
+	}
+
+
+}//END: class
diff --git a/src/dr/app/beagle/evomodel/branchmodel/RandomBranchModel.java b/src/dr/app/beagle/evomodel/branchmodel/RandomBranchModel.java
index 7da0a4f..b4edd7e 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/RandomBranchModel.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/RandomBranchModel.java
@@ -1,3 +1,28 @@
+/*
+ * RandomBranchModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.evomodel.branchmodel;
 
 import java.util.LinkedHashMap;
@@ -35,7 +60,9 @@ public class RandomBranchModel extends AbstractModel implements BranchModel {
 	private LinkedList<SubstitutionModel> substitutionModels;
 	private LinkedHashMap<NodeRef, Integer> branchAssignmentMap;
 
-	//TODO: parse distribution model for e_i
+	// TODO: parse distribution model for e_i
+	// TODO: parse substitution model (hardcoded now)
+	// TODO: parse parameter that follows trend (hardcoded now)
 	private double rate;
 	
 	private static MersenneTwister random;
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BeagleBranchLikelihood.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BeagleBranchLikelihood.java
new file mode 100644
index 0000000..414bbd7
--- /dev/null
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BeagleBranchLikelihood.java
@@ -0,0 +1,539 @@
+/*
+ * BeagleBranchLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.app.beagle.evomodel.branchmodel.lineagespecific;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import beagle.Beagle;
+import beagle.BeagleFactory;
+import dr.app.beagle.evomodel.branchmodel.BranchModel;
+import dr.app.beagle.evomodel.branchmodel.HomogeneousBranchModel;
+import dr.app.beagle.evomodel.sitemodel.GammaSiteRateModel;
+import dr.app.beagle.evomodel.sitemodel.SiteRateModel;
+import dr.app.beagle.evomodel.substmodel.FrequencyModel;
+import dr.app.beagle.evomodel.substmodel.HKY;
+import dr.app.beagle.evomodel.substmodel.SubstitutionModel;
+import dr.app.beagle.evomodel.treelikelihood.BeagleTreeLikelihood;
+import dr.app.beagle.evomodel.treelikelihood.BufferIndexHelper;
+import dr.app.beagle.evomodel.treelikelihood.PartialsRescalingScheme;
+import dr.app.beagle.evomodel.treelikelihood.SubstitutionModelDelegate;
+import dr.app.beagle.tools.BeagleSequenceSimulator;
+import dr.app.beagle.tools.Partition;
+import dr.app.bss.Utils;
+import dr.evolution.alignment.Alignment;
+import dr.evolution.alignment.PatternList;
+import dr.evolution.datatype.DataType;
+import dr.evolution.datatype.Nucleotides;
+import dr.evolution.io.NewickImporter;
+import dr.evolution.tree.NodeRef;
+import dr.evolution.tree.Tree;
+import dr.evomodel.branchratemodel.BranchRateModel;
+import dr.evomodel.branchratemodel.StrictClockBranchRates;
+import dr.evomodel.tree.TreeModel;
+import dr.inference.loggers.LogColumn;
+import dr.inference.loggers.NumberColumn;
+import dr.inference.model.Likelihood;
+import dr.inference.model.Model;
+import dr.inference.model.Parameter;
+import dr.math.MathUtils;
+
+ at SuppressWarnings("serial")
+public class BeagleBranchLikelihood implements Likelihood {
+
+	private static final boolean DEBUG = true;
+	
+	// Constructor fields
+	private PatternList patternList;
+	private TreeModel treeModel;
+	private BranchModel branchModel;
+	private SiteRateModel siteRateModel;
+	private FrequencyModel freqModel;
+	private BranchRateModel branchRateModel;
+
+	// Likelihood fields
+	private String id = null;
+	private boolean used = true;
+
+	// Beagle fields
+	private Beagle beagle;
+	private BufferIndexHelper matrixBufferHelper;
+	private BufferIndexHelper partialBufferHelper;
+	private SubstitutionModelDelegate substitutionModelDelegate;
+
+	
+	int nodeCount;
+	boolean[] updateNode;
+
+	
+	
+	public BeagleBranchLikelihood(PatternList patternList, //
+			TreeModel treeModel, //
+			BranchModel branchModel, //
+			SiteRateModel siteRateModel, //
+			FrequencyModel freqModel, //
+			BranchRateModel branchRateModel //
+	) {
+
+		this.patternList = patternList;
+		this.treeModel = treeModel;
+		this.branchModel = branchModel;
+		this.siteRateModel = siteRateModel;
+		this.freqModel = freqModel;
+		this.branchRateModel = branchRateModel;
+
+		this.loadBeagleInstance();
+
+	}// END: Constructor
+
+	public double getBranchLogLikelihood(int branchIndex) {
+
+		int count = 1;
+		double[] loglikelihood = new double[count];
+		
+		// gamma category rates
+		double[] categoryRates = siteRateModel.getCategoryRates();
+		beagle.setCategoryRates(categoryRates);
+
+		double[] categoryWeights = this.siteRateModel.getCategoryProportions();
+		
+		beagle.setCategoryWeights(0, categoryWeights);
+
+		double[] frequencies = substitutionModelDelegate
+				.getRootStateFrequencies();
+		beagle.setStateFrequencies(0, frequencies);
+
+		substitutionModelDelegate.updateSubstitutionModels(beagle);
+
+		setTipPartials();
+		
+		// flags to keep track of updated transition matrix buffers
+		updateNode = new boolean[nodeCount];
+		Arrays.fill(updateNode, true);
+//		// Do not update root node
+//		int rootNum = treeModel.getRoot().getNumber();
+//		updateNode[rootNum] = false;
+		
+		int nodeNum = branchIndex;
+		NodeRef node = treeModel.getNode(nodeNum);
+
+		// traverse down that node populating buffers and calculating partials
+		traverse(treeModel, node);
+
+		// traverse down the parent node populating buffers and calculating partials
+		NodeRef parent = treeModel.getParent(node);
+		traverse(treeModel, parent);
+		int parentNum = treeModel.getParent(node).getNumber();
+
+		
+//		beagle.calculateEdgeLogLikelihoods(new int[] { parentNum }, // parentBufferIndices
+//				new int[] { nodeNum }, // int[] childBufferIndices
+//				new int[] { 0 }, // int[] probabilityIndices
+//				null, // firstDerivativeIndices
+//				null, // secondDerivativeIndices
+//				new int[] { 0 }, // int[] categoryWeightsIndices
+//				new int[] { 0 }, // int[] stateFrequenciesIndices
+//				new int[] { Beagle.NONE }, // cumulativeScaleIndices
+//				1, // count
+//				loglikelihood, //
+//				null, // outSumFirstDerivative, //
+//				null // outSumSecondDerivative //
+//		);
+
+		return loglikelihood[0];
+	}// END: getLogLikelihood
+
+	private boolean traverse(TreeModel treeModel, NodeRef node) {
+		
+		boolean update = false;
+//		if (!treeModel.isRoot(node)) {
+		
+		int nodeNum = node.getNumber();
+		NodeRef parentNode = treeModel.getParent(node);
+
+		// populate buffer
+		if (parentNode != null && updateNode[nodeNum]) {
+
+			double branchRate = branchRateModel.getBranchRate(treeModel, node);
+			double parentHeight = treeModel.getNodeHeight(parentNode);
+			double nodeHeight = treeModel.getNodeHeight(node);
+			double branchLength = branchRate * (parentHeight - nodeHeight);
+
+			substitutionModelDelegate.flipMatrixBuffer(nodeNum);
+//			matrixBufferHelper.flipOffset(nodeNum);
+			
+			substitutionModelDelegate.updateTransitionMatrices(//
+					beagle, //
+					new int[] { nodeNum }, //
+					new double[] { branchLength }, //
+					1 //
+					);
+
+			if (DEBUG) {
+				System.out.println("At branch " + nodeNum);
+				System.out.println(" Length " + branchLength + ": node "
+						+ nodeNum + ", height=" + nodeHeight + " parent "
+						+ parentNode);
+				System.out.println(" Populating transition matrix buffer");
+			}// END: DEBUG check
+			
+			 updateNode[nodeNum] = false;
+			 update = true;
+		}// END: parent check
+
+		// update the partial likelihoods
+		if (!treeModel.isExternal(node)) {
+
+			// Traverse down the two child nodes
+			NodeRef child1 = treeModel.getChild(node, 0);
+			boolean update1 = traverse(treeModel, child1);
+
+			NodeRef child2 = treeModel.getChild(node, 1);
+			boolean update2 = traverse(treeModel, child2);
+
+			// If either child node was updated then update this node too
+			if (update1 || update2) {
+
+				int[] operations = new int[Beagle.OPERATION_TUPLE_SIZE];
+
+				partialBufferHelper.flipOffset(nodeNum);
+
+				// destinationPartials
+				operations[Beagle.OPERATION_TUPLE_SIZE - 7] = partialBufferHelper
+						.getOffsetIndex(nodeNum);
+				// destinationScaleWrite
+				operations[Beagle.OPERATION_TUPLE_SIZE - 6] = Beagle.NONE;
+				// destinationScaleRead
+				operations[Beagle.OPERATION_TUPLE_SIZE - 5] = Beagle.NONE;
+				// source node 1
+				operations[Beagle.OPERATION_TUPLE_SIZE - 4] = partialBufferHelper
+						.getOffsetIndex(child1.getNumber());
+				// source matrix 1
+				operations[Beagle.OPERATION_TUPLE_SIZE - 3] = substitutionModelDelegate
+						.getMatrixIndex(child1.getNumber());
+				// source node 2
+				operations[Beagle.OPERATION_TUPLE_SIZE - 2] = partialBufferHelper
+						.getOffsetIndex(child2.getNumber());
+				// source matrix 2
+				operations[Beagle.OPERATION_TUPLE_SIZE - 1] = substitutionModelDelegate
+						.getMatrixIndex(child2.getNumber());
+
+				beagle.updatePartials(operations, 1, Beagle.NONE);
+
+				if (DEBUG) {
+					System.out.println("At branch " + nodeNum);
+					System.out.println(" Child nodes updated");
+					System.out.println(" Populating partial buffer");
+				}// END: DEBUG check
+
+				updateNode[nodeNum] = false;
+				update = true;
+				}// END: children updated check
+
+			}// END: external branch check
+//		}//END: root check
+		
+		return update;
+	}// END: traverse
+
+	// //////////////
+	// ---PUBLIC---//
+	// //////////////
+
+	@Override
+	public double getLogLikelihood() {
+		double loglikelihood = 0;
+
+		// TODO
+
+		return loglikelihood;
+	}// END: getLogLikelihood
+
+	// ///////////////
+	// ---PRIVATE---//
+	// ///////////////
+
+	private void populateTransitionBuffers() {
+		
+		for (NodeRef node : treeModel.getNodes()) {
+//			if (!treeModel.isRoot(node)) {
+
+				int nodeNum = node.getNumber();
+				matrixBufferHelper.flipOffset(nodeNum);
+				int branchIndex = nodeNum;
+				int[] childBufferIndices = new int[] { branchIndex };
+
+				double branchRate = branchRateModel.getBranchRate(treeModel,
+						node);
+
+				double branchLength = treeModel.getBranchLength(node);
+				double branchTime = branchLength * branchRate;// * siteRate;
+
+				substitutionModelDelegate.updateTransitionMatrices(beagle, //
+						childBufferIndices, //
+						new double[] { branchTime }, 1 //
+						);
+
+//			}// END: root check
+		}// END: nodes loop
+	}//END: populateTransitionBuffers
+	
+	private void setTipPartials() {
+
+		int patternCount = patternList.getPatternCount();
+		int tipCount = treeModel.getTaxonCount();
+		for (int i = 0; i < tipCount; i++) {
+
+			String id = treeModel.getTaxonId(i);
+			int sequenceIndex = patternList.getTaxonIndex(id);
+
+			int[] states = new int[patternCount];
+			for (int j = 0; j < patternCount; j++) {
+
+				states[j] = patternList.getPatternState(sequenceIndex, j);
+
+			}
+
+			beagle.setTipStates(i, states);
+		}// END: i loop
+
+	}// END: setTipStates
+	
+	public void finalizeBeagle() throws Throwable {
+		beagle.finalize();
+	}// END: finalizeBeagle
+
+	private void loadBeagleInstance() {
+
+		this.substitutionModelDelegate = new SubstitutionModelDelegate(
+				treeModel, branchModel);
+
+		DataType dataType = freqModel.getDataType();
+
+		int partitionSiteCount = patternList.getPatternCount();
+
+		 nodeCount = treeModel.getNodeCount();
+		this.matrixBufferHelper = new BufferIndexHelper(nodeCount, 0);
+
+		int tipCount = treeModel.getExternalNodeCount();
+		int internalNodeCount = treeModel.getInternalNodeCount();
+
+		partialBufferHelper = new BufferIndexHelper(nodeCount, tipCount);
+		BufferIndexHelper scaleBufferHelper = new BufferIndexHelper(
+				internalNodeCount + 1, 0);
+
+		int compactPartialsCount = tipCount;
+		int stateCount = dataType.getStateCount();
+		int patternCount = partitionSiteCount;
+		int siteRateCategoryCount = siteRateModel.getCategoryCount();
+
+		int[] resourceList = new int[] { 0 };
+		long preferenceFlags = 0;
+		long requirementFlags = 0;
+
+		beagle = BeagleFactory.loadBeagleInstance(tipCount, //
+				partialBufferHelper.getBufferCount(), //
+				compactPartialsCount, //
+				stateCount, //
+				patternCount, //
+				substitutionModelDelegate.getEigenBufferCount(), //
+				substitutionModelDelegate.getMatrixBufferCount(), //
+				siteRateCategoryCount, //
+				scaleBufferHelper.getBufferCount(), //
+				resourceList, //
+				preferenceFlags, //
+				requirementFlags//
+				);
+
+	}// END: loadBeagleInstance
+
+	// /////////////////
+	// ---INHERITED---//
+	// /////////////////
+
+	@Override
+	public LogColumn[] getColumns() {
+		return new dr.inference.loggers.LogColumn[] { new LikelihoodColumn(
+				getId() == null ? "likelihood" : getId()) };
+	}
+
+	@Override
+	public String getId() {
+		return this.id;
+	}
+
+	@Override
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	@Override
+	public Model getModel() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public void makeDirty() {
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	public String prettyName() {
+		return Abstract.getPrettyName(this);
+	}
+
+	@Override
+	public boolean isUsed() {
+		return used;
+	}
+
+	@Override
+	public void setUsed() {
+		used = true;
+	}
+
+	@Override
+	public boolean evaluateEarly() {
+		return false;
+	}
+
+	// ///////////////////////
+	// ---PRIVATE CLASSES---//
+	// ///////////////////////
+
+	private class LikelihoodColumn extends NumberColumn {
+
+		public LikelihoodColumn(String label) {
+			super(label);
+		}// END: Constructor
+
+		public double getDoubleValue() {
+			return getLogLikelihood();
+		}
+
+	}// END: LikelihoodColumn class
+
+	// ////////////
+	// ---TEST---//
+	// ////////////
+
+	public static void main(String[] args) {
+
+		try {
+
+			MathUtils.setSeed(666);
+
+			int sequenceLength = 1000;
+			ArrayList<Partition> partitionsList = new ArrayList<Partition>();
+
+			// create tree
+			NewickImporter importer = new NewickImporter(
+					"((SimSeq1:22.0,SimSeq2:22.0):12.0,(SimSeq3:23.1,SimSeq4:23.1):10.899999999999999);");
+			Tree tree = importer.importTree(null);
+			TreeModel treeModel = new TreeModel(tree);
+
+			// create Frequency Model
+			Parameter freqs = new Parameter.Default(new double[] { 0.25, 0.25,
+					0.25, 0.25 });
+			FrequencyModel freqModel = new FrequencyModel(Nucleotides.INSTANCE,
+					freqs);
+
+			// create branch model
+			Parameter kappa1 = new Parameter.Default(1, 1);
+
+			HKY hky1 = new HKY(kappa1, freqModel);
+
+			BranchModel homogeneousBranchModel = new HomogeneousBranchModel(
+					hky1);
+
+			List<SubstitutionModel> substitutionModels = new ArrayList<SubstitutionModel>();
+			substitutionModels.add(hky1);
+			List<FrequencyModel> freqModels = new ArrayList<FrequencyModel>();
+			freqModels.add(freqModel);
+
+			// create branch rate model
+			Parameter rate = new Parameter.Default(1, 1.000);
+			BranchRateModel branchRateModel = new StrictClockBranchRates(rate);
+
+			// create site model
+			GammaSiteRateModel siteRateModel = new GammaSiteRateModel(
+					"siteModel");
+
+			// create partition
+			Partition partition1 = new Partition(treeModel, //
+					homogeneousBranchModel,//
+					siteRateModel, //
+					branchRateModel, //
+					freqModel, //
+					0, // from
+					sequenceLength - 1, // to
+					1 // every
+			);
+
+			partitionsList.add(partition1);
+
+			// feed to sequence simulator and generate data
+			BeagleSequenceSimulator simulator = new BeagleSequenceSimulator(
+					partitionsList);
+
+			Alignment alignment = simulator.simulate(false, false);
+
+			System.out.println(alignment);
+			
+			BeagleTreeLikelihood btl = new BeagleTreeLikelihood(alignment,
+					treeModel, homogeneousBranchModel, siteRateModel,
+					branchRateModel, null, false,
+					PartialsRescalingScheme.DEFAULT);
+
+			System.out.println("BTL(homogeneous) = " + btl.getLogLikelihood());
+
+			BeagleBranchLikelihood bbl = new BeagleBranchLikelihood(alignment,
+					treeModel, homogeneousBranchModel, siteRateModel,
+					freqModel, branchRateModel);
+
+			int branchIndex = 4;
+			System.out.println(bbl.getBranchLogLikelihood(branchIndex));
+
+			bbl.finalizeBeagle();
+
+		} catch (Exception e) {
+
+			e.printStackTrace();
+			System.exit(-1);
+
+		} catch (Throwable e) {
+
+			e.printStackTrace();
+			System.exit(-1);
+
+		}// END: try-catch block
+
+	}// END: main
+
+}// END: class
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BeagleBranchLikelihoodParser.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BeagleBranchLikelihoodParser.java
new file mode 100644
index 0000000..d480878
--- /dev/null
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BeagleBranchLikelihoodParser.java
@@ -0,0 +1,96 @@
+/*
+ * BeagleBranchLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.app.beagle.evomodel.branchmodel.lineagespecific;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import dr.app.beagle.evomodel.branchmodel.lineagespecific.BeagleBranchLikelihood;
+import dr.evomodel.substmodel.SubstitutionModel;
+import dr.evomodel.tree.TreeModel;
+import dr.inference.model.Likelihood;
+import dr.inference.model.Parameter;
+import dr.xml.AbstractXMLObjectParser;
+import dr.xml.XMLObject;
+import dr.xml.XMLParseException;
+import dr.xml.XMLSyntaxRule;
+
+public class BeagleBranchLikelihoodParser extends AbstractXMLObjectParser {
+
+	public static final String BEAGLE_BRANCH_LIKELIHOODS = "beagleBranchLikelihood";
+
+	public static final String UNIQUE_LIKELIHOODS = "uniqueLikelihoods";
+
+	@Override
+	public String getParserName() {
+		return BEAGLE_BRANCH_LIKELIHOODS;
+	}
+
+	@Override
+	public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+
+		TreeModel treeModel = (TreeModel) xo.getChild(TreeModel.class);
+
+		// if(xo.hasChildNamed(TreeModel.TREE_MODEL)) {
+		//
+		// treeModel = (TreeModel) xo.getChild(TreeModel.class);
+		// }
+
+		Parameter zParameter = (Parameter) xo
+				.getElementFirstChild(DirichletProcessPriorParser.CATEGORIES);
+
+		List<Likelihood> likelihoods = new ArrayList<Likelihood>();
+
+		XMLObject cxo = (XMLObject) xo.getChild(UNIQUE_LIKELIHOODS);
+		for (int i = 0; i < cxo.getChildCount(); i++) {
+
+			Likelihood likelihood = (Likelihood) cxo.getChild(i);
+			likelihoods.add(likelihood);
+		}
+
+		return null;
+//		new BeagleBranchLikelihood(
+////				treeModel, likelihoods, zParameter
+//				);
+	}
+
+	@Override
+	public XMLSyntaxRule[] getSyntaxRules() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public String getParserDescription() {
+		return BEAGLE_BRANCH_LIKELIHOODS;
+	}
+
+	@Override
+	public Class getReturnType() {
+		return BeagleBranchLikelihood.class;
+	}
+
+}
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BranchLikelihood.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BranchLikelihood.java
new file mode 100644
index 0000000..7658659
--- /dev/null
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BranchLikelihood.java
@@ -0,0 +1,234 @@
+/*
+ * BranchLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.app.beagle.evomodel.branchmodel.lineagespecific;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import dr.app.beagle.evomodel.branchmodel.BranchModel;
+import dr.app.beagle.evomodel.sitemodel.SiteRateModel;
+import dr.app.beagle.evomodel.substmodel.FrequencyModel;
+import dr.app.beagle.evomodel.substmodel.SubstitutionModel;
+import dr.app.beagle.evomodel.treelikelihood.BeagleTreeLikelihood;
+import dr.evolution.alignment.PatternList;
+import dr.evolution.tree.NodeRef;
+import dr.evomodel.branchratemodel.BranchRateModel;
+import dr.evomodel.branchratemodel.CountableBranchCategoryProvider;
+import dr.evomodel.tree.TreeModel;
+import dr.inference.loggers.LogColumn;
+import dr.inference.loggers.NumberColumn;
+import dr.inference.model.CompoundModel;
+import dr.inference.model.CompoundParameter;
+import dr.inference.model.Likelihood;
+import dr.inference.model.Model;
+import dr.inference.model.Parameter;
+
+ at SuppressWarnings("serial")
+public class BranchLikelihood implements Likelihood {
+
+	// Constructor fields
+//	private PatternList patternList;
+	private TreeModel treeModel;
+//	private BranchModel branchModel;
+//	private SiteRateModel siteRateModel;
+//	private FrequencyModel freqModel;
+//	private BranchRateModel branchRateModel;
+	
+    private BeagleTreeLikelihood likelihood;
+	private CountableBranchCategoryProvider categoriesProvider;
+
+	private Parameter categoriesParameter;
+	private CompoundParameter uniqueParameters;
+	private CountableRealizationsParameter allParameters;
+	
+	private final CompoundModel compoundModel = new CompoundModel(
+			"compoundModel");
+
+	public BranchLikelihood(	
+//			 PatternList patternList, //
+			 TreeModel treeModel, //
+//			 BranchModel branchModel, //
+//			 SiteRateModel siteRateModel, //
+//			 FrequencyModel freqModel, //
+//			 BranchRateModel branchRateModel, //
+			BeagleTreeLikelihood likelihood,
+			 Parameter categoriesParameter,
+			 CompoundParameter uniqueParameters,
+			 CountableRealizationsParameter allParameters
+			 ) {
+
+//		this.patternList = patternList;
+//		this.treeModel = treeModel;
+//		this.branchModel = branchModel;
+//		this.siteRateModel = siteRateModel;
+//		this.freqModel = freqModel;
+//		this.branchRateModel = branchRateModel;
+		this.treeModel = treeModel;
+		this.categoriesParameter = categoriesParameter;
+		this.uniqueParameters = uniqueParameters;
+		this.allParameters = allParameters;
+		
+			this.categoriesProvider = new CountableBranchCategoryProvider.IndependentBranchCategoryModel(
+					this.treeModel, categoriesParameter);
+
+	}// END: Constructor
+
+	
+	
+
+	@Override
+	public double getLogLikelihood() {
+		
+		double loglike = 0;
+
+		for (int i = 0; i < categoriesParameter.getDimension(); i++) {
+			
+			int category = (int) categoriesParameter.getParameterValue(i);			
+			double value = uniqueParameters.getParameterValue(category);
+			
+             allParameters.setParameterValue(i, value);
+			
+		}//END: i loop
+
+		likelihood.makeDirty();
+        loglike = likelihood.getLogLikelihood();
+
+		return loglike;
+	}// END: getLogLikelihood
+
+	public double getLogLikelihood(int index) {
+		
+		
+//		likelihood.getBranchModel().getSubstitutionModels().get(index).getVariable(0).setValue(index, value)
+		
+		double tmp1 = likelihood.getLogLikelihood();
+		
+		int category = (int) categoriesParameter.getParameterValue(index);			
+		double value = uniqueParameters.getParameterValue(category);
+		allParameters.setParameterValue(index, value);
+		
+		likelihood.makeDirty();
+		
+		
+		double tmp2 = likelihood.getLogLikelihood();
+		
+		
+		return tmp2-tmp1;
+	}
+
+	@Override
+	public LogColumn[] getColumns() {
+		return new dr.inference.loggers.LogColumn[] { new LikelihoodColumn(
+				getId() == null ? "likelihood" : getId()) };
+	}// END: getColumns
+
+	@Override
+	public String getId() {
+		return"";
+	}// END: getId
+
+	@Override
+	public void setId(String id) {
+	}// END: setId
+
+	@Override
+	public Model getModel() {
+		return compoundModel;
+	}
+
+	@Override
+	public void makeDirty() {
+
+
+	}// END: makeDirty
+
+	@Override
+	public String prettyName() {
+		return Abstract.getPrettyName(this);
+	}// END: prettyName
+
+	@Override
+	public boolean isUsed() {
+		return true;
+	}// END: isUsed
+
+	@Override
+	public void setUsed() {
+	}// END: setUsed
+
+	@Override
+	public boolean evaluateEarly() {
+		return false;
+	}
+
+	private class LikelihoodColumn extends NumberColumn {
+
+		public LikelihoodColumn(String label) {
+			super(label);
+		}// END: Constructor
+
+		public double getDoubleValue() {
+			return getLogLikelihood();
+		}
+
+	}// END: LikelihoodColumn class
+
+	
+	
+	
+	
+	
+	
+	
+//	private LinkedList<Likelihood> getBranchLikelihoods() {
+//
+//		// linked list preserves order
+//		LinkedList<Likelihood> loglikes = new LinkedList<Likelihood>();
+//
+//			for (NodeRef branch : treeModel.getNodes()) {
+//
+//				if (!treeModel.isRoot(branch)) {
+//
+//					int branchCategory = categoriesProvider.getBranchCategory(
+//							treeModel, branch);
+//					int index = (int) categoriesParameter
+//							.getParameterValue(branchCategory);
+//
+//					Likelihood branchLikelihood = uniqueLikelihoods.get(index);
+//
+//					loglikes.add(branchLikelihood);
+//					compoundModel.addModel(branchLikelihood.getModel());
+//
+//				}
+//			}// END: branch loop
+//
+//		return loglikes;
+//	}// END: getBranchLikelihoods
+	
+	
+	
+	
+}// END: class
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BranchSpecificTrait.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BranchSpecificTrait.java
index e5e7bd7..53747a6 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BranchSpecificTrait.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BranchSpecificTrait.java
@@ -1,3 +1,28 @@
+/*
+ * BranchSpecificTrait.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.evomodel.branchmodel.lineagespecific;
 
 import dr.app.beagle.evomodel.branchmodel.BranchModel;
@@ -7,6 +32,8 @@ import dr.evolution.tree.Tree;
 import dr.evolution.tree.TreeTrait;
 import dr.evolution.tree.TreeTraitProvider;
 import dr.evomodel.tree.TreeModel;
+import dr.inference.model.CompoundParameter;
+import dr.inference.model.Parameter;
 
 /**
  * @author Filip Bielejec
@@ -19,6 +46,52 @@ public class BranchSpecificTrait implements TreeTraitProvider {
 	private TreeModel treeModel;
 	
 	public BranchSpecificTrait(
+		TreeModel treeModel,
+		Parameter uCategories,
+		CompoundParameter uniqueParameters, 
+		final String parameterName) {
+		
+		this.treeModel = treeModel;
+		helper = new Helper();
+		
+		TreeTrait<Double> uTrait = new TreeTrait.D() {
+
+			@Override
+			public String getTraitName() {
+				return parameterName;
+			}
+
+			@Override
+			public dr.evolution.tree.TreeTrait.Intent getIntent() {
+				return Intent.BRANCH;
+			}
+
+			@Override
+			public Double getTrait(Tree tree, NodeRef node) {
+
+				double value = 0.0;
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				
+				return null;
+			}
+			
+			
+			
+		};
+		
+		
+	}//END: Constructor
+	
+	public BranchSpecificTrait(
 			TreeModel treeModel,
 			final BranchModel branchModel,
 //			, final CompoundParameter parameter 
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BranchSpecificTraitParser.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BranchSpecificTraitParser.java
index 2693aac..bf3de14 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BranchSpecificTraitParser.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/BranchSpecificTraitParser.java
@@ -1,3 +1,28 @@
+/*
+ * BranchSpecificTraitParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.evomodel.branchmodel.lineagespecific;
 
 import dr.app.beagle.evomodel.branchmodel.BranchModel;
@@ -29,7 +54,6 @@ public class BranchSpecificTraitParser extends AbstractXMLObjectParser {
 //		CompoundParameter parameter = (CompoundParameter) xo.getChild(CompoundParameter.class);
         TreeModel treeModel = (TreeModel) xo.getChild(TreeModel.class);
 		
-		
 		return new BranchSpecificTrait(treeModel, branchModel, xo.getId());
 	}
 
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/CountableRealizationsParameter.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/CountableRealizationsParameter.java
index 010c930..86848e1 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/CountableRealizationsParameter.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/CountableRealizationsParameter.java
@@ -1,7 +1,7 @@
 /*
- * ProductParameter.java
+ * CountableRealizationsParameter.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/CountableRealizationsParameterParser.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/CountableRealizationsParameterParser.java
index 0f84686..2c34fd3 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/CountableRealizationsParameterParser.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/CountableRealizationsParameterParser.java
@@ -1,7 +1,7 @@
 /*
- * ProductParameterParser.java
+ * CountableRealizationsParameterParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessOperator.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessOperator.java
index 339e61b..ac920c8 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessOperator.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessOperator.java
@@ -1,8 +1,34 @@
+/*
+ * DirichletProcessOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.evomodel.branchmodel.lineagespecific;
 
+import java.util.LinkedHashMap;
+
 import org.apache.commons.math.MathException;
 
-import dr.inference.distribution.DistributionLikelihood;
 import dr.inference.model.CompoundLikelihood;
 import dr.inference.model.Likelihood;
 import dr.inference.model.Parameter;
@@ -16,63 +42,60 @@ import dr.math.MathUtils;
 public class DirichletProcessOperator extends SimpleMCMCOperator implements
 		GibbsOperator {
 
-	private static final boolean DEBUG = true;
+	private static final boolean DEBUG = false;
 
 	private DirichletProcessPrior dpp;
 
-	
-	
 	private int realizationCount;
 	private int uniqueRealizationCount;
 	private double intensity;
-    private int mhSteps;
-	
-	
+	private int mhSteps;
+
 	private Parameter zParameter;
-//	private CountableRealizationsParameter countableRealizationsParameter;
+	// private CountableRealizationsParameter countableRealizationsParameter;
 	private Parameter parameter;
-	
+
 	private CompoundLikelihood likelihood;
-	
-	
-	
-	public DirichletProcessOperator(DirichletProcessPrior dpp, 
-			Parameter zParameter, 
-//			CountableRealizationsParameter countableRealizationsParameter,
-			Parameter parameter,
-			CompoundLikelihood likelihood,
-			int mhSteps,
-			double weight) {
+
+	public DirichletProcessOperator(DirichletProcessPrior dpp, //
+			Parameter zParameter, //
+			// CountableRealizationsParameter countableRealizationsParameter,
+			Parameter parameter, //
+			CompoundLikelihood likelihood, //
+			int mhSteps, //
+			double weight//
+	) {
 
 		this.dpp = dpp;
 		this.intensity = dpp.getGamma();
 		this.uniqueRealizationCount = dpp.getCategoryCount();
 		this.realizationCount = zParameter.getDimension();
-		
+
 		this.zParameter = zParameter;
-//		this.countableRealizationsParameter = countableRealizationsParameter;
+		// this.countableRealizationsParameter = countableRealizationsParameter;
 		this.parameter = parameter;
 		this.likelihood = likelihood;
-		
+
 		this.mhSteps = mhSteps;
 		setWeight(weight);
 
 	}// END: Constructor
 
-    public Parameter getParameter() {
-        return zParameter;
-    }//END: getParameter
-	
-    public Variable getVariable() {
-        return zParameter;
-    }//END: getVariable
-	
+	public Parameter getParameter() {
+		return zParameter;
+	}// END: getParameter
+
+	public Variable getVariable() {
+		return zParameter;
+	}// END: getVariable
+
 	@Override
 	public double doOperation() throws OperatorFailedException {
 
 		try {
 
-			doOperate();
+//			doOperate();
+			doOp();
 
 		} catch (MathException e) {
 			e.printStackTrace();
@@ -81,9 +104,62 @@ public class DirichletProcessOperator extends SimpleMCMCOperator implements
 		return 0.0;
 	}// END: doOperation
 
+	private void doOp() throws MathException {
+		
+		for (int index = 0; index < realizationCount; index++) {
+		
+			int[] occupancy = new int[uniqueRealizationCount];
+			for (int i = 0; i < realizationCount; i++) {
+				if (i != index) {
+					int j = (int) zParameter.getParameterValue(i);
+					occupancy[j]++;
+				}// END: i check
+			}// END: i loop
+			
+			
+
+			// TODO: set parameters at index values 
+			int category = (int) zParameter.getParameterValue(index);
+			
+			for (int i = 0; i < uniqueRealizationCount; i++) {
+			
+				double candidate =0;
+				if (occupancy[i] == 0) {// draw new
+
+					// draw from base model
+
+					 candidate = dpp.baseModel.nextRandom()[0];
+
+				} else {// draw existing
+
+					// likelihood for component x_index
+
+					 candidate = dpp.getUniqueParameter(i)
+							.getParameterValue(0);
+
+
+				}// END: occupancy check
+				
+				parameter.setParameterValue(category, candidate);
+				
+				
+			}// END: i loop
+			
+			double loglike = likelihood.getLogLikelihood();
+			System.out.println(loglike);
+			System.exit(-1);
+			
+		}//END: index loop
+		
+		
+		
+		
+	}//END: doOp
+	
+	
 	private void doOperate() throws MathException {
 
-//		int index = 0;
+		// int index = 0;
 		for (int index = 0; index < realizationCount; index++) {
 
 			int[] occupancy = new int[uniqueRealizationCount];
@@ -102,48 +178,59 @@ public class DirichletProcessOperator extends SimpleMCMCOperator implements
 				System.out.println("N[-index]: ");
 				dr.app.bss.Utils.printArray(occupancy);
 			}
+
+			Likelihood clusterLikelihood = (Likelihood) likelihood.getLikelihood(index);
+//			Likelihood clusterLikelihood = likelihood;
+			
+			int category = (int) zParameter.getParameterValue(index);
+			double value = parameter.getParameterValue(category);
 			
 			double[] clusterProbs = new double[uniqueRealizationCount];
+			
 			for (int i = 0; i < uniqueRealizationCount; i++) {
 
 				double logprob = 0;
 				if (occupancy[i] == 0) {// draw new
 
 					// draw from base model, evaluate at likelihood
-					// M-H for poor people
-					
-					double loglike = 0.0;
-					double candidate = 0.0;
-					for (int j = 0; j < mhSteps; j++) {
-						 candidate = dpp.baseModel.nextRandom()[0];
-						 loglike = getPartialLoglike(index, candidate);
-					}
-					
-					loglike /= mhSteps;
-					logprob = Math.log((intensity) / (realizationCount - 1 + intensity)) + loglike;
+
+					double candidate = dpp.baseModel.nextRandom()[0];
+
+					parameter.setParameterValue(category, candidate);
+					double loglike = clusterLikelihood.getLogLikelihood();
+					parameter.setParameterValue(category, value);
+
+					logprob = Math.log((intensity)
+							/ (realizationCount - 1 + intensity))
+							+ loglike;
 
 				} else {// draw existing
-					
+
 					// likelihood for component x_index
-					double value = dpp.getUniqueParameter(i).getParameterValue(0);
-					double loglike = getPartialLoglike(index, value);
-					
-					logprob = Math.log(occupancy[i]) / (realizationCount - 1 + intensity) + loglike;
+
+					double candidate = dpp.getUniqueParameter(i)
+							.getParameterValue(0);
+
+					parameter.setParameterValue(category, candidate);
+					double loglike = clusterLikelihood.getLogLikelihood();
+					parameter.setParameterValue(category, value);
+
+					logprob = Math.log(occupancy[i])
+							/ (realizationCount - 1 + intensity) + loglike;
 
 				}// END: occupancy check
 
 				clusterProbs[i] = logprob;
 			}// END: i loop
 
-			//rescale
-//			double max = dr.app.bss.Utils.max(clusterProbs);
-//			for (int i = 0; i < clusterProbs.length; i++) {
-//				clusterProbs[i] -=  max;
-//			}
-
-			dr.app.bss.Utils.exponentiate(clusterProbs);
-//			dr.app.bss.Utils.normalize(clusterProbs);
 			
+			//////////////////////////////////////
+			
+			dr.app.bss.Utils.exponentiate(clusterProbs);
+
+//			dr.app.bss.Utils.printArray(clusterProbs);
+//			System.exit(-1);
+
 			if (DEBUG) {
 				System.out.println("P(z[index] | z[-index]): ");
 				dr.app.bss.Utils.printArray(clusterProbs);
@@ -154,39 +241,14 @@ public class DirichletProcessOperator extends SimpleMCMCOperator implements
 			zParameter.setParameterValue(index, sampledCluster);
 
 			if (DEBUG) {
-				System.out.println("sampled category: " + sampledCluster + "\n");
+				System.out
+						.println("sampled category: " + sampledCluster + "\n");
 			}
 
 		}// END: index loop
 
 	}// END: doOperate
 
-	private double getPartialLoglike(int index, double candidate) {
-
-//		DistributionLikelihood dl = (DistributionLikelihood) likelihood .getLikelihood(index);
-		
-		Likelihood dl = (Likelihood) likelihood .getLikelihood(index);
-		
-		int category = (int) zParameter.getParameterValue(index);
-		double value = parameter.getParameterValue(category);
-		
-		double loglike = 0.0;
-		if (candidate != value) {
-
-			//TODO: which category
-			parameter.setParameterValue(category, candidate);
-			loglike = dl.getLogLikelihood();
-			parameter.setParameterValue(category, value);
-
-		} else {
-
-			loglike = dl.getLogLikelihood();
-
-		}
-
-		return loglike;
-	}// END: getPartialLoglike
-	
 	@Override
 	public String getOperatorName() {
 		return DirichletProcessOperatorParser.DIRICHLET_PROCESS_OPERATOR;
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessOperatorParser.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessOperatorParser.java
index 6f74a6d..3e634a0 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessOperatorParser.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessOperatorParser.java
@@ -1,6 +1,32 @@
+/*
+ * DirichletProcessOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.evomodel.branchmodel.lineagespecific;
 
 import dr.inference.model.CompoundLikelihood;
+import dr.inference.model.CompoundParameter;
 import dr.inference.model.Parameter;
 import dr.inference.operators.MCMCOperator;
 import dr.xml.AbstractXMLObjectParser;
@@ -21,25 +47,27 @@ public class DirichletProcessOperatorParser extends AbstractXMLObjectParser {
 
 		DirichletProcessPrior dpp = (DirichletProcessPrior) xo.getChild(DirichletProcessPrior.class);
 		CompoundLikelihood likelihood = (CompoundLikelihood) xo .getElementFirstChild(DATA_LOG_LIKELIHOOD);
-		Parameter zParameter = (Parameter) xo.getElementFirstChild(  DirichletProcessPriorParser.CATEGORIES);
-//		CountableRealizationsParameter countableRealizationsParameter = (CountableRealizationsParameter) xo.getChild(CountableRealizationsParameter.class);
+		Parameter categoriesParameter = (Parameter) xo.getElementFirstChild(  DirichletProcessPriorParser.CATEGORIES);
 		
-		Parameter uniquelyRealizedParameters = (Parameter) xo.getChild(Parameter.class);
+//		CountableRealizationsParameter allParameters = (CountableRealizationsParameter) xo.getChild(CountableRealizationsParameter.class);
+		CompoundParameter uniquelyRealizedParameters = (CompoundParameter) xo.getChild(CompoundParameter.class);
 		
 		int M = xo.getIntegerAttribute(MH_STEPS);
 		final double weight = xo.getDoubleAttribute(MCMCOperator.WEIGHT);
 
-		return new DirichletProcessOperator(dpp, zParameter, uniquelyRealizedParameters,
-//				countableRealizationsParameter, 
+		return 
+		new DirichletProcessOperator(dpp, categoriesParameter, 
+				uniquelyRealizedParameters, 
+//				allParameters,
 				likelihood, M, weight);
 	}// END: parseXMLObject
 
 	@Override
 	public XMLSyntaxRule[] getSyntaxRules() {
 		return new XMLSyntaxRule[] {
-
-				new ElementRule(DirichletProcessPrior.class, false),
-		new ElementRule(Parameter.class, false), //
+		new ElementRule(DirichletProcessPrior.class, false),
+		new ElementRule(CompoundParameter.class, false), //
+//		new ElementRule(CountableRealizationsParameter.class, false), //
 		AttributeRule.newDoubleRule(MCMCOperator.WEIGHT) //
 		};
 
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPrior.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPrior.java
index e26f5c9..697888e 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPrior.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPrior.java
@@ -1,3 +1,28 @@
+/*
+ * DirichletProcessPrior.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.evomodel.branchmodel.lineagespecific;
 
 import java.util.ArrayList;
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPriorLogger.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPriorLogger.java
index f45a24f..958ebe4 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPriorLogger.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPriorLogger.java
@@ -1,3 +1,28 @@
+/*
+ * DirichletProcessPriorLogger.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.evomodel.branchmodel.lineagespecific;
 
 import java.util.ArrayList;
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPriorLoggerParser.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPriorLoggerParser.java
index 6b51951..2c169d2 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPriorLoggerParser.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPriorLoggerParser.java
@@ -1,3 +1,28 @@
+/*
+ * DirichletProcessPriorLoggerParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.evomodel.branchmodel.lineagespecific;
 
 import dr.inference.distribution.ParametricMultivariateDistributionModel;
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPriorParser.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPriorParser.java
index 848fda6..2e8c9b4 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPriorParser.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/DirichletProcessPriorParser.java
@@ -1,3 +1,28 @@
+/*
+ * DirichletProcessPriorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.evomodel.branchmodel.lineagespecific;
 
 import dr.inference.distribution.ParametricMultivariateDistributionModel;
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/LineageSpecificBranchModel.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/LineageSpecificBranchModel.java
index a2982e8..ec917a5 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/LineageSpecificBranchModel.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/LineageSpecificBranchModel.java
@@ -1,7 +1,7 @@
 /*
- * BranchSpecific.java
+ * LineageSpecificBranchModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -82,24 +82,26 @@ public class LineageSpecificBranchModel extends AbstractModel implements BranchM
     private FrequencyModel rootFrequencyModel;
     
     // for discrete categories
-    private CountableBranchCategoryProvider uCategoriesProvider;
-    private Parameter uCategoriesParameter;
+    private CountableBranchCategoryProvider categoriesProvider;
+    private Parameter categoriesParameter;
 
 	public LineageSpecificBranchModel(TreeModel treeModel, //
 			FrequencyModel rootFrequencyModel, //
 			final List<SubstitutionModel> substitutionModels, //
-			CountableBranchCategoryProvider uCategoriesProvider, //
-			Parameter uCategoriesParameter //
+//			CountableBranchCategoryProvider categoriesProvider, //
+			Parameter categoriesParameter //
 	) {
 
 		super("");
 
 		this.treeModel = treeModel;
 		this.substitutionModels = substitutionModels;
-		this.uCategoriesProvider = uCategoriesProvider;
-		this.uCategoriesParameter = uCategoriesParameter;
+//		this.categoriesProvider = categoriesProvider;
+		this.categoriesParameter = categoriesParameter;
 		this.rootFrequencyModel = rootFrequencyModel;
 
+		this.categoriesProvider = new CountableBranchCategoryProvider.IndependentBranchCategoryModel(treeModel, categoriesParameter);
+		
 		this.nodeMap = new HashMap<NodeRef, Mapping>();
 
 		for (SubstitutionModel model : this.substitutionModels) {
@@ -108,8 +110,8 @@ public class LineageSpecificBranchModel extends AbstractModel implements BranchM
 
 		addModel(this.treeModel);
 		addModel(this.rootFrequencyModel);
-		addModel((Model) this.uCategoriesProvider);
-		addVariable(this.uCategoriesParameter);
+		addModel((Model) this.categoriesProvider);
+		addVariable(this.categoriesParameter);
 
 	}// END: Constructor
 	
@@ -127,9 +129,9 @@ public class LineageSpecificBranchModel extends AbstractModel implements BranchM
 
 		if (branch != treeModel.getRoot()) {//TODO: neccessary?
 
-			int branchCategory = uCategoriesProvider.getBranchCategory(
+			int branchCategory = categoriesProvider.getBranchCategory(
 					treeModel, branch);
-			final int uCategory = (int) uCategoriesParameter.getParameterValue(branchCategory);
+			final int uCategory = (int) categoriesParameter.getParameterValue(branchCategory);
 
 			if (DEBUG) {
 				System.out.println("branch length: " + treeModel.getBranchLength(branch) + ", " + "category:" + uCategory);
@@ -275,9 +277,10 @@ public class LineageSpecificBranchModel extends AbstractModel implements BranchM
 			}
             
 			Parameter uCategories = new Parameter.Default(2, 0);
-            CountableBranchCategoryProvider provider = new CountableBranchCategoryProvider.IndependentBranchCategoryModel(tree, uCategories);
+//            CountableBranchCategoryProvider provider = new CountableBranchCategoryProvider.IndependentBranchCategoryModel(tree, uCategories);
 			
-            LineageSpecificBranchModel branchSpecific = new LineageSpecificBranchModel(tree, freqModel, substModels, provider, uCategories);
+            LineageSpecificBranchModel branchSpecific = new LineageSpecificBranchModel(tree, freqModel, substModels, //provider, 
+            		uCategories);
 
             BeagleTreeLikelihood like = new BeagleTreeLikelihood(convert, //
                     tree, //
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/LineageSpecificBranchModelParser.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/LineageSpecificBranchModelParser.java
index 826ea1a..289745a 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/LineageSpecificBranchModelParser.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/LineageSpecificBranchModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * LineageSpecificBranchModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.evomodel.branchmodel.lineagespecific;
 
 import java.util.ArrayList;
@@ -49,9 +74,10 @@ public class LineageSpecificBranchModelParser extends AbstractXMLObjectParser {
 			// TODO: check if categories numbering starts from zero
 			Parameter categories = (Parameter) xo.getElementFirstChild(CATEGORIES); 
 			
-			CountableBranchCategoryProvider.CladeBranchCategoryModel provider = new CountableBranchCategoryProvider.CladeBranchCategoryModel(treeModel, categories);// false);
+//			CountableBranchCategoryProvider.CladeBranchCategoryModel provider = new CountableBranchCategoryProvider.CladeBranchCategoryModel(treeModel, categories);// false);
 			
-		return new LineageSpecificBranchModel(treeModel, rootFrequencyModel, substitutionModels, provider, categories);
+		return new LineageSpecificBranchModel(treeModel, rootFrequencyModel, substitutionModels, //provider, 
+				categories);
 	}
 
 	@Override
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/RatioParameter.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/RatioParameter.java
index 312e995..2c8ea67 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/RatioParameter.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/RatioParameter.java
@@ -1,3 +1,28 @@
+/*
+ * RatioParameter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.evomodel.branchmodel.lineagespecific;
 
 import java.util.List;
diff --git a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/RatioParameterParser.java b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/RatioParameterParser.java
index 783caa2..9586cf6 100644
--- a/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/RatioParameterParser.java
+++ b/src/dr/app/beagle/evomodel/branchmodel/lineagespecific/RatioParameterParser.java
@@ -1,3 +1,28 @@
+/*
+ * RatioParameterParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.evomodel.branchmodel.lineagespecific;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/app/beagle/evomodel/newtreelikelihood/NewBeagleTreeLikelihood.java b/src/dr/app/beagle/evomodel/newtreelikelihood/NewBeagleTreeLikelihood.java
index 962c2c2..138faba 100644
--- a/src/dr/app/beagle/evomodel/newtreelikelihood/NewBeagleTreeLikelihood.java
+++ b/src/dr/app/beagle/evomodel/newtreelikelihood/NewBeagleTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
- * BeagleTreeLikelihood.java
+ * NewBeagleTreeLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/newtreelikelihood/NewGammaSiteModel.java b/src/dr/app/beagle/evomodel/newtreelikelihood/NewGammaSiteModel.java
index 80094ed..4ab7a9f 100644
--- a/src/dr/app/beagle/evomodel/newtreelikelihood/NewGammaSiteModel.java
+++ b/src/dr/app/beagle/evomodel/newtreelikelihood/NewGammaSiteModel.java
@@ -1,7 +1,7 @@
 /*
  * NewGammaSiteModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/newtreelikelihood/SiteModel.java b/src/dr/app/beagle/evomodel/newtreelikelihood/SiteModel.java
index 60c6d82..9ac9f1a 100644
--- a/src/dr/app/beagle/evomodel/newtreelikelihood/SiteModel.java
+++ b/src/dr/app/beagle/evomodel/newtreelikelihood/SiteModel.java
@@ -1,7 +1,7 @@
 /*
- * SiteRateModel.java
+ * SiteModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/operators/PatternWeightIncrementOperator.java b/src/dr/app/beagle/evomodel/operators/PatternWeightIncrementOperator.java
index ae874c2..98acfa9 100644
--- a/src/dr/app/beagle/evomodel/operators/PatternWeightIncrementOperator.java
+++ b/src/dr/app/beagle/evomodel/operators/PatternWeightIncrementOperator.java
@@ -1,7 +1,7 @@
 /*
- * TipStateSwapOperator.java
+ * PatternWeightIncrementOperator.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/operators/TipStateSwapOperator.java b/src/dr/app/beagle/evomodel/operators/TipStateSwapOperator.java
index 3ea541b..91f3332 100644
--- a/src/dr/app/beagle/evomodel/operators/TipStateSwapOperator.java
+++ b/src/dr/app/beagle/evomodel/operators/TipStateSwapOperator.java
@@ -1,7 +1,7 @@
 /*
  * TipStateSwapOperator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/ALSTreeLikelihoodParser.java b/src/dr/app/beagle/evomodel/parsers/ALSTreeLikelihoodParser.java
index cb0f993..ce3f51d 100644
--- a/src/dr/app/beagle/evomodel/parsers/ALSTreeLikelihoodParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/ALSTreeLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * ALSTreeLikelihoodParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/AncestralStateTreeLikelihoodParser.java b/src/dr/app/beagle/evomodel/parsers/AncestralStateTreeLikelihoodParser.java
index f09ae87..8dcf49b 100644
--- a/src/dr/app/beagle/evomodel/parsers/AncestralStateTreeLikelihoodParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/AncestralStateTreeLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * AncestralStateTreeLikelihoodParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/BalancedBeagleTreeLikelihoodParser.java b/src/dr/app/beagle/evomodel/parsers/BalancedBeagleTreeLikelihoodParser.java
index 08d7070..06f1b4f 100644
--- a/src/dr/app/beagle/evomodel/parsers/BalancedBeagleTreeLikelihoodParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/BalancedBeagleTreeLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * BalancedBeagleTreeLikelihoodParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/BeagleOperationParser.java b/src/dr/app/beagle/evomodel/parsers/BeagleOperationParser.java
index 1597a7d..8b0fd02 100644
--- a/src/dr/app/beagle/evomodel/parsers/BeagleOperationParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/BeagleOperationParser.java
@@ -1,7 +1,7 @@
 /*
  * BeagleOperationParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/BeagleSubstitutionEpochModelParser.java b/src/dr/app/beagle/evomodel/parsers/BeagleSubstitutionEpochModelParser.java
index c099026..af4df00 100644
--- a/src/dr/app/beagle/evomodel/parsers/BeagleSubstitutionEpochModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/BeagleSubstitutionEpochModelParser.java
@@ -1,7 +1,7 @@
 /*
  * BeagleSubstitutionEpochModelParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/BeagleTreeLikelihoodParser.java b/src/dr/app/beagle/evomodel/parsers/BeagleTreeLikelihoodParser.java
index 35374c3..eada33e 100644
--- a/src/dr/app/beagle/evomodel/parsers/BeagleTreeLikelihoodParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/BeagleTreeLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * BeagleTreeLikelihoodParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -176,9 +176,9 @@ public class BeagleTreeLikelihoodParser extends AbstractXMLObjectParser {
 
         // using multiple instances of BEAGLE...
 
-        if (!(patternList instanceof SitePatterns)) {
-            throw new XMLParseException("BEAGLE_INSTANCES option cannot be used with BEAUti-selected codon partitioning.");
-        }
+//        if (!(patternList instanceof SitePatterns)) {
+//            throw new XMLParseException("BEAGLE_INSTANCES option cannot be used with BEAUti-selected codon partitioning.");
+//        }
 
         if (tipStatesModel != null) {
             throw new XMLParseException("BEAGLE_INSTANCES option cannot be used with a TipStateModel (i.e., a sequence error model).");
@@ -187,7 +187,7 @@ public class BeagleTreeLikelihoodParser extends AbstractXMLObjectParser {
         List<Likelihood> likelihoods = new ArrayList<Likelihood>();
         for (int i = 0; i < instanceCount; i++) {
 
-            Patterns subPatterns = new Patterns((SitePatterns)patternList, 0, 0, 1, i, instanceCount);
+            Patterns subPatterns = new Patterns(patternList, i, instanceCount);
 
             AbstractTreeLikelihood treeLikelihood = createTreeLikelihood(
                     subPatterns,
diff --git a/src/dr/app/beagle/evomodel/parsers/BinaryCovarionModelParser.java b/src/dr/app/beagle/evomodel/parsers/BinaryCovarionModelParser.java
index 02cb6e1..9093017 100644
--- a/src/dr/app/beagle/evomodel/parsers/BinaryCovarionModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/BinaryCovarionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * BinaryCovarionModelParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/BinarySubstitutionModelParser.java b/src/dr/app/beagle/evomodel/parsers/BinarySubstitutionModelParser.java
index 42fb03a..c868815 100644
--- a/src/dr/app/beagle/evomodel/parsers/BinarySubstitutionModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/BinarySubstitutionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * BinarySubstitutionModelParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/BranchAssignmentModelParser.java b/src/dr/app/beagle/evomodel/parsers/BranchAssignmentModelParser.java
new file mode 100644
index 0000000..5f05868
--- /dev/null
+++ b/src/dr/app/beagle/evomodel/parsers/BranchAssignmentModelParser.java
@@ -0,0 +1,97 @@
+package dr.app.beagle.evomodel.parsers;
+
+import java.util.LinkedHashMap;
+import java.util.logging.Logger;
+
+import dr.app.beagle.evomodel.branchmodel.BranchAssignmentModel;
+import dr.app.beagle.evomodel.substmodel.SubstitutionModel;
+import dr.evomodel.tree.TreeModel;
+import dr.xml.AbstractXMLObjectParser;
+import dr.xml.AttributeRule;
+import dr.xml.ElementRule;
+import dr.xml.XMLObject;
+import dr.xml.XMLParseException;
+import dr.xml.XMLSyntaxRule;
+
+public class BranchAssignmentModelParser extends AbstractXMLObjectParser {
+
+	public static final String ANNOTATION = "annotation";
+	public static final String ANNOTATION_VALUE = "annotationValue";
+	public static final String BASE_MODEL = "baseModel";
+	public static final String ASSIGNMENT = "assignment";
+
+	@Override
+	public String getParserName() {
+		return BranchAssignmentModel.BRANCH_ASSIGNMENT_MODEL;
+	}
+
+	@Override
+	public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+
+		Logger.getLogger("dr.evomodel").info(
+				"Using branch assignment branch model.");
+		TreeModel treeModel = (TreeModel) xo.getChild(TreeModel.class);
+		String annotation = xo.getStringAttribute(ANNOTATION);
+
+		LinkedHashMap<Integer, SubstitutionModel> modelIndexMap = new LinkedHashMap<Integer, SubstitutionModel>();
+
+		for (int i = 0; i < xo.getChildCount(); i++) {
+			if (xo.getChild(i) instanceof XMLObject) {
+				XMLObject xoc = (XMLObject) xo.getChild(i);
+				if (xoc.getName().equals(ASSIGNMENT)) {
+
+					Integer index = null;
+					if (xoc.hasAttribute(ANNOTATION_VALUE)) {
+						index = xoc.getIntegerAttribute(ANNOTATION_VALUE);
+					}
+
+					SubstitutionModel model = (SubstitutionModel) xoc
+							.getChild(SubstitutionModel.class);
+
+					modelIndexMap.put(index, model);
+
+				}
+			}
+		}
+
+		SubstitutionModel baseModel = (SubstitutionModel) xo
+				.getElementFirstChild(BASE_MODEL);
+
+		return new BranchAssignmentModel(treeModel, annotation, modelIndexMap,
+				baseModel);
+	}// END: parseXMLObject
+
+	@Override
+	public XMLSyntaxRule[] getSyntaxRules() {
+
+		return new XMLSyntaxRule[] {
+
+		new ElementRule(TreeModel.class, false), //
+				new ElementRule(ASSIGNMENT, //
+						new XMLSyntaxRule[] { //
+								AttributeRule.newIntegerRule(ANNOTATION_VALUE,
+										false), //
+								new ElementRule(SubstitutionModel.class, false), // model
+						},//
+						1, Integer.MAX_VALUE), //
+				new ElementRule(BASE_MODEL, //
+						new XMLSyntaxRule[] { //
+						new ElementRule(SubstitutionModel.class, false) //
+						}, false) // base model
+
+		};
+	}// END: getSyntaxRules
+
+	@Override
+	public String getParserDescription() {
+		return "This element provides a branch model which assigns "
+				+ "substitution models to branches on the tree ";
+	}
+
+	@SuppressWarnings("rawtypes")
+	@Override
+	public Class getReturnType() {
+		return BranchAssignmentModelParser.class;
+	}
+
+}// END: class
diff --git a/src/dr/app/beagle/evomodel/parsers/BranchSpecificBranchModelParser.java b/src/dr/app/beagle/evomodel/parsers/BranchSpecificBranchModelParser.java
index e58bc6e..ad4b8bf 100644
--- a/src/dr/app/beagle/evomodel/parsers/BranchSpecificBranchModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/BranchSpecificBranchModelParser.java
@@ -1,7 +1,7 @@
 /*
  * BranchSpecificBranchModelParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -88,14 +88,12 @@ public class BranchSpecificBranchModelParser extends AbstractXMLObjectParser {
                     }
                 } else if (xoc.getName().equals(EXTERNAL_BRANCHES)) {
 
-                    double weight = xoc.getAttribute(STEM_WEIGHT, 1.0);
-
                     substitutionModel = (SubstitutionModel) xoc.getChild(SubstitutionModel.class);
                     TaxonList taxonList = (TaxonList) xoc.getChild(TaxonList.class);
 
 
                     try {
-                        branchModel.addExternalBranches(taxonList, substitutionModel, weight);
+                        branchModel.addExternalBranches(taxonList, substitutionModel);
 
                     } catch (Tree.MissingTaxonException mte) {
                         throw new XMLParseException("Taxon, " + mte + ", in " + getParserName() + " was not found in the tree.");
@@ -142,7 +140,6 @@ public class BranchSpecificBranchModelParser extends AbstractXMLObjectParser {
             new ElementRule(SubstitutionModel.class, "The substitution model for branches not explicitly included"),
             new ElementRule(EXTERNAL_BRANCHES,
                     new XMLSyntaxRule[]{
-                            AttributeRule.newDoubleRule(STEM_WEIGHT, true, "What proportion of the branch to include [0 < w <= 1] (default 1)."),
                             new ElementRule(Taxa.class, "A substitution model will be applied to the external branches for these taxa"),
                             new ElementRule(SubstitutionModel.class, "The substitution model"),
                     }, 0, Integer.MAX_VALUE),
diff --git a/src/dr/app/beagle/evomodel/parsers/CodonPartitionedRobustCountingParser.java b/src/dr/app/beagle/evomodel/parsers/CodonPartitionedRobustCountingParser.java
index 907fade..6ee30d3 100644
--- a/src/dr/app/beagle/evomodel/parsers/CodonPartitionedRobustCountingParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/CodonPartitionedRobustCountingParser.java
@@ -1,7 +1,7 @@
 /*
  * CodonPartitionedRobustCountingParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/CompleteHistoryLoggerParser.java b/src/dr/app/beagle/evomodel/parsers/CompleteHistoryLoggerParser.java
index 3d9771d..c3212ac 100644
--- a/src/dr/app/beagle/evomodel/parsers/CompleteHistoryLoggerParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/CompleteHistoryLoggerParser.java
@@ -1,7 +1,7 @@
 /*
  * CompleteHistoryLoggerParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/ComplexSubstitutionModelParser.java b/src/dr/app/beagle/evomodel/parsers/ComplexSubstitutionModelParser.java
index 7c4ec35..41bd28d 100644
--- a/src/dr/app/beagle/evomodel/parsers/ComplexSubstitutionModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/ComplexSubstitutionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * ComplexSubstitutionModelParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/CompoundLikelihoodParser.java b/src/dr/app/beagle/evomodel/parsers/CompoundLikelihoodParser.java
index f6adaad..0616fc5 100644
--- a/src/dr/app/beagle/evomodel/parsers/CompoundLikelihoodParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/CompoundLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * CompoundLikelihoodParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/DnDsLoggerParser.java b/src/dr/app/beagle/evomodel/parsers/DnDsLoggerParser.java
index 68ed178..160e140 100644
--- a/src/dr/app/beagle/evomodel/parsers/DnDsLoggerParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/DnDsLoggerParser.java
@@ -1,7 +1,7 @@
 /*
  * DnDsLoggerParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/EmpiricalAminoAcidModelParser.java b/src/dr/app/beagle/evomodel/parsers/EmpiricalAminoAcidModelParser.java
index c8b98d4..50520dd 100644
--- a/src/dr/app/beagle/evomodel/parsers/EmpiricalAminoAcidModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/EmpiricalAminoAcidModelParser.java
@@ -1,7 +1,7 @@
 /*
  * EmpiricalAminoAcidModelParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/EmpiricalCodonModelParser.java b/src/dr/app/beagle/evomodel/parsers/EmpiricalCodonModelParser.java
index 8640cca..45cde97 100644
--- a/src/dr/app/beagle/evomodel/parsers/EmpiricalCodonModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/EmpiricalCodonModelParser.java
@@ -1,7 +1,7 @@
 /*
  * EmpiricalCodonModelParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/EpochBranchModelParser.java b/src/dr/app/beagle/evomodel/parsers/EpochBranchModelParser.java
index 590e4cc..94ce6fb 100644
--- a/src/dr/app/beagle/evomodel/parsers/EpochBranchModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/EpochBranchModelParser.java
@@ -1,7 +1,7 @@
 /*
  * EpochBranchModelParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/ExternalInternalBranchModelParser.java b/src/dr/app/beagle/evomodel/parsers/ExternalInternalBranchModelParser.java
new file mode 100644
index 0000000..5a47163
--- /dev/null
+++ b/src/dr/app/beagle/evomodel/parsers/ExternalInternalBranchModelParser.java
@@ -0,0 +1,89 @@
+/*
+ * ExternalInternalBranchModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.app.beagle.evomodel.parsers;
+
+import dr.app.beagle.evomodel.branchmodel.BranchSpecificBranchModel;
+import dr.app.beagle.evomodel.branchmodel.ExternalInternalBranchModel;
+import dr.app.beagle.evomodel.substmodel.SubstitutionModel;
+import dr.evolution.tree.Tree;
+import dr.evolution.util.Taxa;
+import dr.evolution.util.TaxonList;
+import dr.evomodel.tree.TreeModel;
+import dr.xml.*;
+
+import java.util.logging.Logger;
+
+/**
+ * @author Andrew Rambaut
+ */
+public class ExternalInternalBranchModelParser extends AbstractXMLObjectParser {
+
+    public static final String EXTERNAL_INTERNAL_BRANCH_MODEL = "externalInternalBranchModel";
+    public static final String EXTERNAL_BRANCHES = "externalBranches";
+
+    public String getParserName() {
+        return EXTERNAL_INTERNAL_BRANCH_MODEL;
+    }
+
+    public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+
+        Logger.getLogger("dr.evomodel").info("Using external-internal branch model.");
+
+        TreeModel tree = (TreeModel) xo.getChild(TreeModel.class);
+        SubstitutionModel internalSubstitutionModel = (SubstitutionModel) xo.getChild(SubstitutionModel.class);
+        SubstitutionModel externalSubstitutionModel = (SubstitutionModel) xo.getElementFirstChild(EXTERNAL_BRANCHES);
+
+        return new ExternalInternalBranchModel(tree, externalSubstitutionModel, internalSubstitutionModel);
+    }
+
+    //************************************************************************
+    // AbstractXMLObjectParser implementation
+    //************************************************************************
+
+    public String getParserDescription() {
+        return
+                "This element provides a branch model which allows different substitution models" +
+                        "on internal and external branches of the tree.";
+    }
+
+    public Class getReturnType() {
+        return BranchSpecificBranchModel.class;
+    }
+
+    public XMLSyntaxRule[] getSyntaxRules() {
+        return rules;
+    }
+
+    private final XMLSyntaxRule[] rules = {
+            new ElementRule(TreeModel.class, "The tree"),
+            new ElementRule(SubstitutionModel.class, "The substitution model for internal branches"),
+            new ElementRule(EXTERNAL_BRANCHES,
+                    new XMLSyntaxRule[]{
+                            new ElementRule(SubstitutionModel.class, "The external branch substitution model"),
+                    }, false)
+    };
+
+}
diff --git a/src/dr/app/beagle/evomodel/parsers/ExternalInternalBranchSubstitutionModelParser.java b/src/dr/app/beagle/evomodel/parsers/ExternalInternalBranchSubstitutionModelParser.java
index f991fb8..b5fe3a0 100644
--- a/src/dr/app/beagle/evomodel/parsers/ExternalInternalBranchSubstitutionModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/ExternalInternalBranchSubstitutionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * ExternalInternalBranchSubstitutionModelParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/FrequencyModelParser.java b/src/dr/app/beagle/evomodel/parsers/FrequencyModelParser.java
index 3b9b81d..3fae8b9 100644
--- a/src/dr/app/beagle/evomodel/parsers/FrequencyModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/FrequencyModelParser.java
@@ -1,7 +1,7 @@
 /*
  * FrequencyModelParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/GLMSubstitutionModelParser.java b/src/dr/app/beagle/evomodel/parsers/GLMSubstitutionModelParser.java
index f7b9ab9..9ff04c5 100644
--- a/src/dr/app/beagle/evomodel/parsers/GLMSubstitutionModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/GLMSubstitutionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * GLMSubstitutionModelParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/GTRParser.java b/src/dr/app/beagle/evomodel/parsers/GTRParser.java
index 4acef53..4f950d9 100644
--- a/src/dr/app/beagle/evomodel/parsers/GTRParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/GTRParser.java
@@ -1,7 +1,7 @@
 /*
  * GTRParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/GY94CodonModelParser.java b/src/dr/app/beagle/evomodel/parsers/GY94CodonModelParser.java
index 1e4ddc7..3d6a165 100644
--- a/src/dr/app/beagle/evomodel/parsers/GY94CodonModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/GY94CodonModelParser.java
@@ -1,7 +1,7 @@
 /*
  * GY94CodonModelParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/GammaSiteModelParser.java b/src/dr/app/beagle/evomodel/parsers/GammaSiteModelParser.java
index 03032a9..6becb97 100644
--- a/src/dr/app/beagle/evomodel/parsers/GammaSiteModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/GammaSiteModelParser.java
@@ -1,7 +1,7 @@
 /*
  * GammaSiteModelParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/GeneralSubstitutionModelParser.java b/src/dr/app/beagle/evomodel/parsers/GeneralSubstitutionModelParser.java
index 0efc46a..7f3846c 100644
--- a/src/dr/app/beagle/evomodel/parsers/GeneralSubstitutionModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/GeneralSubstitutionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * GeneralSubstitutionModelParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/HKYParser.java b/src/dr/app/beagle/evomodel/parsers/HKYParser.java
index 5a07709..0430380 100644
--- a/src/dr/app/beagle/evomodel/parsers/HKYParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/HKYParser.java
@@ -1,7 +1,7 @@
 /*
  * HKYParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/HistoryFilterParser.java b/src/dr/app/beagle/evomodel/parsers/HistoryFilterParser.java
index 1b49daf..c45b2fd 100644
--- a/src/dr/app/beagle/evomodel/parsers/HistoryFilterParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/HistoryFilterParser.java
@@ -1,7 +1,7 @@
 /*
  * HistoryFilterParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/LewisMkSubstitutionModelParser.java b/src/dr/app/beagle/evomodel/parsers/LewisMkSubstitutionModelParser.java
index c4dd221..be8bbfc 100644
--- a/src/dr/app/beagle/evomodel/parsers/LewisMkSubstitutionModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/LewisMkSubstitutionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * LewisMkSubstitutionModelParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/MG94CodonModelParser.java b/src/dr/app/beagle/evomodel/parsers/MG94CodonModelParser.java
index 247be9a..bae2d7f 100644
--- a/src/dr/app/beagle/evomodel/parsers/MG94CodonModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/MG94CodonModelParser.java
@@ -1,7 +1,7 @@
 /*
  * MG94CodonModelParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/MarkovJumpsLikelihoodLoggerParser.java b/src/dr/app/beagle/evomodel/parsers/MarkovJumpsLikelihoodLoggerParser.java
index fe3a070..a3e9542 100644
--- a/src/dr/app/beagle/evomodel/parsers/MarkovJumpsLikelihoodLoggerParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/MarkovJumpsLikelihoodLoggerParser.java
@@ -1,7 +1,7 @@
 /*
  * MarkovJumpsLikelihoodLoggerParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/MarkovJumpsTreeLikelihoodParser.java b/src/dr/app/beagle/evomodel/parsers/MarkovJumpsTreeLikelihoodParser.java
index fd61c17..70592f1 100644
--- a/src/dr/app/beagle/evomodel/parsers/MarkovJumpsTreeLikelihoodParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/MarkovJumpsTreeLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * MarkovJumpsTreeLikelihoodParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/MarkovModulatedGY94CodonModelParser.java b/src/dr/app/beagle/evomodel/parsers/MarkovModulatedGY94CodonModelParser.java
index df3cbd8..2cc0250 100644
--- a/src/dr/app/beagle/evomodel/parsers/MarkovModulatedGY94CodonModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/MarkovModulatedGY94CodonModelParser.java
@@ -1,7 +1,7 @@
 /*
  * MarkovModulatedGY94CodonModelParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/MarkovModulatedHiddenClassRewardParser.java b/src/dr/app/beagle/evomodel/parsers/MarkovModulatedHiddenClassRewardParser.java
index d0b1a40..3afe6c6 100644
--- a/src/dr/app/beagle/evomodel/parsers/MarkovModulatedHiddenClassRewardParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/MarkovModulatedHiddenClassRewardParser.java
@@ -1,7 +1,7 @@
 /*
  * MarkovModulatedHiddenClassRewardParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/MarkovModulatedSubstitutionModelParser.java b/src/dr/app/beagle/evomodel/parsers/MarkovModulatedSubstitutionModelParser.java
index 527e87a..6cbb957 100644
--- a/src/dr/app/beagle/evomodel/parsers/MarkovModulatedSubstitutionModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/MarkovModulatedSubstitutionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * MarkovModulatedSubstitutionModelParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/MutationDeathModelParser.java b/src/dr/app/beagle/evomodel/parsers/MutationDeathModelParser.java
index 4ae3793..6c8ada9 100644
--- a/src/dr/app/beagle/evomodel/parsers/MutationDeathModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/MutationDeathModelParser.java
@@ -1,7 +1,7 @@
 /*
  * MutationDeathModelParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/OldAncestralStateTreeLikelihoodParser.java b/src/dr/app/beagle/evomodel/parsers/OldAncestralStateTreeLikelihoodParser.java
index 603692d..b3654df 100644
--- a/src/dr/app/beagle/evomodel/parsers/OldAncestralStateTreeLikelihoodParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/OldAncestralStateTreeLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * OldAncestralStateTreeLikelihoodParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/OldMarkovJumpsTreeLikelihoodParser.java b/src/dr/app/beagle/evomodel/parsers/OldMarkovJumpsTreeLikelihoodParser.java
index 4638059..271b496 100644
--- a/src/dr/app/beagle/evomodel/parsers/OldMarkovJumpsTreeLikelihoodParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/OldMarkovJumpsTreeLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * OldMarkovJumpsTreeLikelihoodParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/OldTreeLikelihoodParser.java b/src/dr/app/beagle/evomodel/parsers/OldTreeLikelihoodParser.java
index d0e0169..13ef695 100644
--- a/src/dr/app/beagle/evomodel/parsers/OldTreeLikelihoodParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/OldTreeLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
- * TreeLikelihoodParser.java
+ * OldTreeLikelihoodParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/OptimizedBeagleTreeLikelihoodParser.java b/src/dr/app/beagle/evomodel/parsers/OptimizedBeagleTreeLikelihoodParser.java
index 1d6dbf4..52b04d7 100644
--- a/src/dr/app/beagle/evomodel/parsers/OptimizedBeagleTreeLikelihoodParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/OptimizedBeagleTreeLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * OptimizedBeagleTreeLikelihoodParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/PCACodonModelParser.java b/src/dr/app/beagle/evomodel/parsers/PCACodonModelParser.java
index ca0a44c..2246c73 100644
--- a/src/dr/app/beagle/evomodel/parsers/PCACodonModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/PCACodonModelParser.java
@@ -1,7 +1,7 @@
 /*
  * PCACodonModelParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/PatternWeightIncrementOperatorParser.java b/src/dr/app/beagle/evomodel/parsers/PatternWeightIncrementOperatorParser.java
index d805b2e..8a7a609 100644
--- a/src/dr/app/beagle/evomodel/parsers/PatternWeightIncrementOperatorParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/PatternWeightIncrementOperatorParser.java
@@ -1,7 +1,7 @@
 /*
- * TipStateSwapOperatorParser.java
+ * PatternWeightIncrementOperatorParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/RandomBranchAssignmentModelParser.java b/src/dr/app/beagle/evomodel/parsers/RandomBranchAssignmentModelParser.java
new file mode 100644
index 0000000..0430652
--- /dev/null
+++ b/src/dr/app/beagle/evomodel/parsers/RandomBranchAssignmentModelParser.java
@@ -0,0 +1,97 @@
+/*
+ * RandomBranchAssignmentModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.app.beagle.evomodel.parsers;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Logger;
+
+import dr.app.beagle.evomodel.branchmodel.RandomBranchAssignmentModel;
+import dr.app.beagle.evomodel.branchmodel.RandomBranchModel;
+import dr.app.beagle.evomodel.substmodel.SubstitutionModel;
+import dr.evomodel.tree.TreeModel;
+import dr.xml.AbstractXMLObjectParser;
+import dr.xml.ElementRule;
+import dr.xml.XMLObject;
+import dr.xml.XMLParseException;
+import dr.xml.XMLSyntaxRule;
+
+public class RandomBranchAssignmentModelParser extends AbstractXMLObjectParser {
+
+	 public static final String MODELS = "models";
+	
+	@Override
+	public String getParserName() {
+		return RandomBranchAssignmentModel.RANDOM_BRANCH_ASSIGNMENT_MODEL;
+	}
+
+	@Override
+	public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+
+        Logger.getLogger("dr.evomodel").info("Using random assignment branch model.");
+        TreeModel treeModel = (TreeModel) xo.getChild(TreeModel.class);
+
+	      XMLObject cxo = xo.getChild(MODELS);
+	      List<SubstitutionModel> substitutionModels = new ArrayList<SubstitutionModel>();
+	      for (int i = 0; i < cxo.getChildCount(); i++) {
+
+				SubstitutionModel substModel = (SubstitutionModel) cxo.getChild(i);
+				substitutionModels.add(substModel);
+				
+			}//END: models loop
+		
+		return new RandomBranchAssignmentModel(treeModel, substitutionModels);
+	}//END: parseXMLObject
+
+	@Override
+	public XMLSyntaxRule[] getSyntaxRules() {
+		
+		return new XMLSyntaxRule[]{
+				
+				new ElementRule(TreeModel.class, false), //
+                new ElementRule(MODELS,
+                        new XMLSyntaxRule[] {
+                                new ElementRule(SubstitutionModel.class, 1, Integer.MAX_VALUE),
+                        }
+                )             
+                
+		};
+	}//END: XMLSyntaxRule
+
+	@Override
+	public String getParserDescription() {
+		return "This element provides a branch model which randomly assigns " +
+				"substitution models to branches on the tree by sampling " +
+				"with replacement from the provided list of substitution models. ";
+	}
+
+	@Override
+	public Class getReturnType() {
+		return RandomBranchModel.class;
+	}
+
+
+}//END: class
diff --git a/src/dr/app/beagle/evomodel/parsers/RandomBranchModelParser.java b/src/dr/app/beagle/evomodel/parsers/RandomBranchModelParser.java
index d88f7d0..f0bdeb0 100644
--- a/src/dr/app/beagle/evomodel/parsers/RandomBranchModelParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/RandomBranchModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * RandomBranchModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.evomodel.parsers;
 
 import java.util.logging.Logger;
diff --git a/src/dr/app/beagle/evomodel/parsers/StarTreeLikelihoodParser.java b/src/dr/app/beagle/evomodel/parsers/StarTreeLikelihoodParser.java
index 1380e54..da9c72f 100644
--- a/src/dr/app/beagle/evomodel/parsers/StarTreeLikelihoodParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/StarTreeLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * StarTreeLikelihoodParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/StratifiedTraitLoggerParser.java b/src/dr/app/beagle/evomodel/parsers/StratifiedTraitLoggerParser.java
index 693e167..10e5177 100644
--- a/src/dr/app/beagle/evomodel/parsers/StratifiedTraitLoggerParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/StratifiedTraitLoggerParser.java
@@ -1,7 +1,7 @@
 /*
  * StratifiedTraitLoggerParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/TN93Parser.java b/src/dr/app/beagle/evomodel/parsers/TN93Parser.java
index a1803aa..a8edcef 100644
--- a/src/dr/app/beagle/evomodel/parsers/TN93Parser.java
+++ b/src/dr/app/beagle/evomodel/parsers/TN93Parser.java
@@ -1,7 +1,7 @@
 /*
  * TN93Parser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/parsers/TipStateSwapOperatorParser.java b/src/dr/app/beagle/evomodel/parsers/TipStateSwapOperatorParser.java
index eb52c9b..1a4b1c1 100644
--- a/src/dr/app/beagle/evomodel/parsers/TipStateSwapOperatorParser.java
+++ b/src/dr/app/beagle/evomodel/parsers/TipStateSwapOperatorParser.java
@@ -1,7 +1,7 @@
 /*
  * TipStateSwapOperatorParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/sitemodel/BranchSubstitutionModel.java b/src/dr/app/beagle/evomodel/sitemodel/BranchSubstitutionModel.java
index 3431d84..cde989e 100644
--- a/src/dr/app/beagle/evomodel/sitemodel/BranchSubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/sitemodel/BranchSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * BranchSubstitutionModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/sitemodel/EpochBranchSubstitutionModel.java b/src/dr/app/beagle/evomodel/sitemodel/EpochBranchSubstitutionModel.java
index 868f0e5..e5d30d5 100644
--- a/src/dr/app/beagle/evomodel/sitemodel/EpochBranchSubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/sitemodel/EpochBranchSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * EpochBranchSubstitutionModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/sitemodel/ExternalInternalBranchSubstitutionModel.java b/src/dr/app/beagle/evomodel/sitemodel/ExternalInternalBranchSubstitutionModel.java
index 488e80a..52a3040 100644
--- a/src/dr/app/beagle/evomodel/sitemodel/ExternalInternalBranchSubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/sitemodel/ExternalInternalBranchSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * ExternalInternalBranchSubstitutionModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/sitemodel/GammaSiteRateModel.java b/src/dr/app/beagle/evomodel/sitemodel/GammaSiteRateModel.java
index fef5466..0569b90 100644
--- a/src/dr/app/beagle/evomodel/sitemodel/GammaSiteRateModel.java
+++ b/src/dr/app/beagle/evomodel/sitemodel/GammaSiteRateModel.java
@@ -1,7 +1,7 @@
 /*
  * GammaSiteRateModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/sitemodel/HomogenousBranchSubstitutionModel.java b/src/dr/app/beagle/evomodel/sitemodel/HomogenousBranchSubstitutionModel.java
index 78371e4..579870e 100644
--- a/src/dr/app/beagle/evomodel/sitemodel/HomogenousBranchSubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/sitemodel/HomogenousBranchSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * HomogenousBranchSubstitutionModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/sitemodel/SiteRateModel.java b/src/dr/app/beagle/evomodel/sitemodel/SiteRateModel.java
index c9cf2a7..dda7d65 100644
--- a/src/dr/app/beagle/evomodel/sitemodel/SiteRateModel.java
+++ b/src/dr/app/beagle/evomodel/sitemodel/SiteRateModel.java
@@ -1,7 +1,7 @@
 /*
  * SiteRateModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/AbstractCodonModel.java b/src/dr/app/beagle/evomodel/substmodel/AbstractCodonModel.java
index b415c01..6c49e55 100644
--- a/src/dr/app/beagle/evomodel/substmodel/AbstractCodonModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/AbstractCodonModel.java
@@ -1,7 +1,7 @@
 /*
  * AbstractCodonModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/AbstractCovarionModel.java b/src/dr/app/beagle/evomodel/substmodel/AbstractCovarionModel.java
index 3f05a77..dbe3bef 100644
--- a/src/dr/app/beagle/evomodel/substmodel/AbstractCovarionModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/AbstractCovarionModel.java
@@ -1,7 +1,7 @@
 /*
  * AbstractCovarionModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/AbstractPCARateMatrix.java b/src/dr/app/beagle/evomodel/substmodel/AbstractPCARateMatrix.java
index 8abb25e..85dcd36 100644
--- a/src/dr/app/beagle/evomodel/substmodel/AbstractPCARateMatrix.java
+++ b/src/dr/app/beagle/evomodel/substmodel/AbstractPCARateMatrix.java
@@ -1,7 +1,7 @@
 /*
  * AbstractPCARateMatrix.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/BaseSubstitutionModel.java b/src/dr/app/beagle/evomodel/substmodel/BaseSubstitutionModel.java
index 9fa171f..d071ca7 100644
--- a/src/dr/app/beagle/evomodel/substmodel/BaseSubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/BaseSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * BaseSubstitutionModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/BinaryCovarionModel.java b/src/dr/app/beagle/evomodel/substmodel/BinaryCovarionModel.java
index eb3d7b0..8f741a2 100644
--- a/src/dr/app/beagle/evomodel/substmodel/BinaryCovarionModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/BinaryCovarionModel.java
@@ -1,7 +1,7 @@
 /*
  * BinaryCovarionModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/CodonLabeling.java b/src/dr/app/beagle/evomodel/substmodel/CodonLabeling.java
index 782a5f7..c432ebc 100644
--- a/src/dr/app/beagle/evomodel/substmodel/CodonLabeling.java
+++ b/src/dr/app/beagle/evomodel/substmodel/CodonLabeling.java
@@ -1,7 +1,7 @@
 /*
  * CodonLabeling.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/CodonPartitionedRobustCounting.java b/src/dr/app/beagle/evomodel/substmodel/CodonPartitionedRobustCounting.java
index 3d77aeb..73de439 100644
--- a/src/dr/app/beagle/evomodel/substmodel/CodonPartitionedRobustCounting.java
+++ b/src/dr/app/beagle/evomodel/substmodel/CodonPartitionedRobustCounting.java
@@ -1,7 +1,7 @@
 /*
  * CodonPartitionedRobustCounting.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/ColtEigenSystem.java b/src/dr/app/beagle/evomodel/substmodel/ColtEigenSystem.java
index 22a49fc..2e3d92d 100644
--- a/src/dr/app/beagle/evomodel/substmodel/ColtEigenSystem.java
+++ b/src/dr/app/beagle/evomodel/substmodel/ColtEigenSystem.java
@@ -1,7 +1,7 @@
 /*
  * ColtEigenSystem.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/ComplexColtEigenSystem.java b/src/dr/app/beagle/evomodel/substmodel/ComplexColtEigenSystem.java
index 442bcdb..0f290e4 100644
--- a/src/dr/app/beagle/evomodel/substmodel/ComplexColtEigenSystem.java
+++ b/src/dr/app/beagle/evomodel/substmodel/ComplexColtEigenSystem.java
@@ -1,7 +1,7 @@
 /*
  * ComplexColtEigenSystem.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/ComplexSubstitutionModel.java b/src/dr/app/beagle/evomodel/substmodel/ComplexSubstitutionModel.java
index 9499177..81f1eb4 100644
--- a/src/dr/app/beagle/evomodel/substmodel/ComplexSubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/ComplexSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * ComplexSubstitutionModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/CovarionFrequencyModel.java b/src/dr/app/beagle/evomodel/substmodel/CovarionFrequencyModel.java
index e9ee786..c1db3e4 100644
--- a/src/dr/app/beagle/evomodel/substmodel/CovarionFrequencyModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/CovarionFrequencyModel.java
@@ -1,7 +1,7 @@
 /*
  * CovarionFrequencyModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/DefaultEigenSystem.java b/src/dr/app/beagle/evomodel/substmodel/DefaultEigenSystem.java
index a5e12d1..a3ab384 100644
--- a/src/dr/app/beagle/evomodel/substmodel/DefaultEigenSystem.java
+++ b/src/dr/app/beagle/evomodel/substmodel/DefaultEigenSystem.java
@@ -1,7 +1,7 @@
 /*
  * DefaultEigenSystem.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/DependentProductChainSubstitutionModel.java b/src/dr/app/beagle/evomodel/substmodel/DependentProductChainSubstitutionModel.java
index 03d9086..c8bc43d 100644
--- a/src/dr/app/beagle/evomodel/substmodel/DependentProductChainSubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/DependentProductChainSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * DependentProductChainSubstitutionModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/EigenDecomposition.java b/src/dr/app/beagle/evomodel/substmodel/EigenDecomposition.java
index 2cc4054..4008f2c 100644
--- a/src/dr/app/beagle/evomodel/substmodel/EigenDecomposition.java
+++ b/src/dr/app/beagle/evomodel/substmodel/EigenDecomposition.java
@@ -1,7 +1,7 @@
 /*
  * EigenDecomposition.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/EigenSystem.java b/src/dr/app/beagle/evomodel/substmodel/EigenSystem.java
index f3472fa..9eafba0 100644
--- a/src/dr/app/beagle/evomodel/substmodel/EigenSystem.java
+++ b/src/dr/app/beagle/evomodel/substmodel/EigenSystem.java
@@ -1,7 +1,7 @@
 /*
  * EigenSystem.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/EmpiricalAminoAcidModel.java b/src/dr/app/beagle/evomodel/substmodel/EmpiricalAminoAcidModel.java
index 4252dda..6041fe3 100644
--- a/src/dr/app/beagle/evomodel/substmodel/EmpiricalAminoAcidModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/EmpiricalAminoAcidModel.java
@@ -1,7 +1,7 @@
 /*
  * EmpiricalAminoAcidModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/EmpiricalCodonModel.java b/src/dr/app/beagle/evomodel/substmodel/EmpiricalCodonModel.java
index 725aa44..533d8bc 100644
--- a/src/dr/app/beagle/evomodel/substmodel/EmpiricalCodonModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/EmpiricalCodonModel.java
@@ -1,7 +1,7 @@
 /*
  * EmpiricalCodonModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/EmpiricalRateMatrix.java b/src/dr/app/beagle/evomodel/substmodel/EmpiricalRateMatrix.java
index 6b0f97c..49681bc 100644
--- a/src/dr/app/beagle/evomodel/substmodel/EmpiricalRateMatrix.java
+++ b/src/dr/app/beagle/evomodel/substmodel/EmpiricalRateMatrix.java
@@ -1,7 +1,7 @@
 /*
  * EmpiricalRateMatrix.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/ExposeRateCategoriesWrapper.java b/src/dr/app/beagle/evomodel/substmodel/ExposeRateCategoriesWrapper.java
index 096411e..7d20c78 100644
--- a/src/dr/app/beagle/evomodel/substmodel/ExposeRateCategoriesWrapper.java
+++ b/src/dr/app/beagle/evomodel/substmodel/ExposeRateCategoriesWrapper.java
@@ -1,7 +1,7 @@
 /*
  * ExposeRateCategoriesWrapper.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/FrequencyModel.java b/src/dr/app/beagle/evomodel/substmodel/FrequencyModel.java
index 99aed48..3e5e8c3 100644
--- a/src/dr/app/beagle/evomodel/substmodel/FrequencyModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/FrequencyModel.java
@@ -1,7 +1,7 @@
 /*
  * FrequencyModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/GLMSubstitutionModel.java b/src/dr/app/beagle/evomodel/substmodel/GLMSubstitutionModel.java
index 3bd7832..95b2c4e 100644
--- a/src/dr/app/beagle/evomodel/substmodel/GLMSubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/GLMSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * GLMSubstitutionModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/GTR.java b/src/dr/app/beagle/evomodel/substmodel/GTR.java
index 99a44aa..f87acb7 100644
--- a/src/dr/app/beagle/evomodel/substmodel/GTR.java
+++ b/src/dr/app/beagle/evomodel/substmodel/GTR.java
@@ -1,7 +1,7 @@
 /*
  * GTR.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/GY94CodonModel.java b/src/dr/app/beagle/evomodel/substmodel/GY94CodonModel.java
index 091255a..f54defa 100644
--- a/src/dr/app/beagle/evomodel/substmodel/GY94CodonModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/GY94CodonModel.java
@@ -1,7 +1,7 @@
 /*
  * GY94CodonModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/GeneralSubstitutionModel.java b/src/dr/app/beagle/evomodel/substmodel/GeneralSubstitutionModel.java
index b037448..ecafcec 100644
--- a/src/dr/app/beagle/evomodel/substmodel/GeneralSubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/GeneralSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * GeneralSubstitutionModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/HKY.java b/src/dr/app/beagle/evomodel/substmodel/HKY.java
index f8217eb..249ef0f 100644
--- a/src/dr/app/beagle/evomodel/substmodel/HKY.java
+++ b/src/dr/app/beagle/evomodel/substmodel/HKY.java
@@ -1,7 +1,7 @@
 /*
  * HKY.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -128,7 +128,7 @@ public class HKY extends BaseSubstitutionModel {
         rates[5] = 1.0;
     }
 
-    public EigenDecomposition getEigenDecomposition() {
+    public synchronized EigenDecomposition getEigenDecomposition() {
 
         if (eigenDecomposition == null) {
             double[] evec = new double[stateCount * stateCount];
diff --git a/src/dr/app/beagle/evomodel/substmodel/MG94CodonModel.java b/src/dr/app/beagle/evomodel/substmodel/MG94CodonModel.java
index 912b706..48061ff 100644
--- a/src/dr/app/beagle/evomodel/substmodel/MG94CodonModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/MG94CodonModel.java
@@ -1,7 +1,7 @@
 /*
  * MG94CodonModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/MG94HKYCodonModel.java b/src/dr/app/beagle/evomodel/substmodel/MG94HKYCodonModel.java
index 917b4a1..c59dc69 100644
--- a/src/dr/app/beagle/evomodel/substmodel/MG94HKYCodonModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/MG94HKYCodonModel.java
@@ -1,7 +1,7 @@
 /*
- * MG94CodonModel.java
+ * MG94HKYCodonModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/MarkovJumpsSubstitutionModel.java b/src/dr/app/beagle/evomodel/substmodel/MarkovJumpsSubstitutionModel.java
index e116571..f71111d 100644
--- a/src/dr/app/beagle/evomodel/substmodel/MarkovJumpsSubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/MarkovJumpsSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * MarkovJumpsSubstitutionModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/MarkovModulatedFrequencyModel.java b/src/dr/app/beagle/evomodel/substmodel/MarkovModulatedFrequencyModel.java
index e4c07cf..5b0c5f9 100644
--- a/src/dr/app/beagle/evomodel/substmodel/MarkovModulatedFrequencyModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/MarkovModulatedFrequencyModel.java
@@ -1,7 +1,7 @@
 /*
  * MarkovModulatedFrequencyModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/MarkovModulatedGY94CodonModel.java b/src/dr/app/beagle/evomodel/substmodel/MarkovModulatedGY94CodonModel.java
index 445c9fb..40dcfd5 100644
--- a/src/dr/app/beagle/evomodel/substmodel/MarkovModulatedGY94CodonModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/MarkovModulatedGY94CodonModel.java
@@ -1,7 +1,7 @@
 /*
  * MarkovModulatedGY94CodonModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/MarkovModulatedSubstitutionModel.java b/src/dr/app/beagle/evomodel/substmodel/MarkovModulatedSubstitutionModel.java
index d591b57..d4fad96 100644
--- a/src/dr/app/beagle/evomodel/substmodel/MarkovModulatedSubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/MarkovModulatedSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * MarkovModulatedSubstitutionModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/MutationDeathModel.java b/src/dr/app/beagle/evomodel/substmodel/MutationDeathModel.java
index e94c136..220a39f 100644
--- a/src/dr/app/beagle/evomodel/substmodel/MutationDeathModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/MutationDeathModel.java
@@ -1,7 +1,7 @@
 /*
  * MutationDeathModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/PCACodonModel.java b/src/dr/app/beagle/evomodel/substmodel/PCACodonModel.java
index b9ec808..1971a0e 100644
--- a/src/dr/app/beagle/evomodel/substmodel/PCACodonModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/PCACodonModel.java
@@ -1,7 +1,7 @@
 /*
  * PCACodonModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/PCARateMatrixMammalia.java b/src/dr/app/beagle/evomodel/substmodel/PCARateMatrixMammalia.java
index 7ee19cd..15e15f9 100644
--- a/src/dr/app/beagle/evomodel/substmodel/PCARateMatrixMammalia.java
+++ b/src/dr/app/beagle/evomodel/substmodel/PCARateMatrixMammalia.java
@@ -1,7 +1,7 @@
 /*
  * PCARateMatrixMammalia.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/ProductChainFrequencyModel.java b/src/dr/app/beagle/evomodel/substmodel/ProductChainFrequencyModel.java
index 516a251..4367b30 100644
--- a/src/dr/app/beagle/evomodel/substmodel/ProductChainFrequencyModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/ProductChainFrequencyModel.java
@@ -1,7 +1,7 @@
 /*
  * ProductChainFrequencyModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/ProductChainSubstitutionModel.java b/src/dr/app/beagle/evomodel/substmodel/ProductChainSubstitutionModel.java
index a1584ef..7329aa2 100644
--- a/src/dr/app/beagle/evomodel/substmodel/ProductChainSubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/ProductChainSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * ProductChainSubstitutionModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/SVSComplexSubstitutionModel.java b/src/dr/app/beagle/evomodel/substmodel/SVSComplexSubstitutionModel.java
index 3963e62..e654730 100644
--- a/src/dr/app/beagle/evomodel/substmodel/SVSComplexSubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/SVSComplexSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * SVSComplexSubstitutionModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/SVSGeneralSubstitutionModel.java b/src/dr/app/beagle/evomodel/substmodel/SVSGeneralSubstitutionModel.java
index a9e9eac..f058107 100644
--- a/src/dr/app/beagle/evomodel/substmodel/SVSGeneralSubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/SVSGeneralSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * SVSGeneralSubstitutionModel.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/StratifiedTraitOutputFormat.java b/src/dr/app/beagle/evomodel/substmodel/StratifiedTraitOutputFormat.java
index 85fa806..b4fb09e 100644
--- a/src/dr/app/beagle/evomodel/substmodel/StratifiedTraitOutputFormat.java
+++ b/src/dr/app/beagle/evomodel/substmodel/StratifiedTraitOutputFormat.java
@@ -1,7 +1,7 @@
 /*
  * StratifiedTraitOutputFormat.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/SubstitutionModel.java b/src/dr/app/beagle/evomodel/substmodel/SubstitutionModel.java
index 9ea14c0..35ed5f3 100644
--- a/src/dr/app/beagle/evomodel/substmodel/SubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/SubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * SubstitutionModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/SubstitutionProcess.java b/src/dr/app/beagle/evomodel/substmodel/SubstitutionProcess.java
index b4e1301..78d8d7b 100644
--- a/src/dr/app/beagle/evomodel/substmodel/SubstitutionProcess.java
+++ b/src/dr/app/beagle/evomodel/substmodel/SubstitutionProcess.java
@@ -1,7 +1,7 @@
 /*
  * SubstitutionProcess.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/substmodel/TN93.java b/src/dr/app/beagle/evomodel/substmodel/TN93.java
index a33087a..0fc90d6 100644
--- a/src/dr/app/beagle/evomodel/substmodel/TN93.java
+++ b/src/dr/app/beagle/evomodel/substmodel/TN93.java
@@ -1,7 +1,7 @@
 /*
  * TN93.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -76,7 +76,7 @@ public class TN93 extends BaseSubstitutionModel {
         rates[5] = 1.0;
     }
 
-    public EigenDecomposition getEigenDecomposition() {
+    public synchronized EigenDecomposition getEigenDecomposition() {
 
         if (eigenDecomposition == null) {
             double[] evec = new double[stateCount * stateCount];
diff --git a/src/dr/app/beagle/evomodel/substmodel/UniformizedSubstitutionModel.java b/src/dr/app/beagle/evomodel/substmodel/UniformizedSubstitutionModel.java
index 9c07eea..86ddf30 100644
--- a/src/dr/app/beagle/evomodel/substmodel/UniformizedSubstitutionModel.java
+++ b/src/dr/app/beagle/evomodel/substmodel/UniformizedSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * UniformizedSubstitutionModel.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/ALSBeagleTreeLikelihood.java b/src/dr/app/beagle/evomodel/treelikelihood/ALSBeagleTreeLikelihood.java
index 2c76930..9cfb4a0 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/ALSBeagleTreeLikelihood.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/ALSBeagleTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * ALSBeagleTreeLikelihood.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/AbstractSinglePartitionTreeLikelihood.java b/src/dr/app/beagle/evomodel/treelikelihood/AbstractSinglePartitionTreeLikelihood.java
index 2d317e7..d86946c 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/AbstractSinglePartitionTreeLikelihood.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/AbstractSinglePartitionTreeLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * AbstractSinglePartitionTreeLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.evomodel.treelikelihood;
 /**
  * ${CLASS_NAME}
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/AbstractTreeLikelihood.java b/src/dr/app/beagle/evomodel/treelikelihood/AbstractTreeLikelihood.java
index fb1d9ed..823d160 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/AbstractTreeLikelihood.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/AbstractTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * AbstractTreeLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/AncestralStateBeagleTreeLikelihood.java b/src/dr/app/beagle/evomodel/treelikelihood/AncestralStateBeagleTreeLikelihood.java
index 3c6532b..3c04439 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/AncestralStateBeagleTreeLikelihood.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/AncestralStateBeagleTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * AncestralStateBeagleTreeLikelihood.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/AncestralStateTraitProvider.java b/src/dr/app/beagle/evomodel/treelikelihood/AncestralStateTraitProvider.java
index b5967c4..c0f545c 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/AncestralStateTraitProvider.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/AncestralStateTraitProvider.java
@@ -1,7 +1,7 @@
 /*
  * AncestralStateTraitProvider.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/BeagleOperationReport.java b/src/dr/app/beagle/evomodel/treelikelihood/BeagleOperationReport.java
index dd5fab2..5652670 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/BeagleOperationReport.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/BeagleOperationReport.java
@@ -1,7 +1,7 @@
 /*
  * BeagleOperationReport.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/BeagleTreeLikelihood.java b/src/dr/app/beagle/evomodel/treelikelihood/BeagleTreeLikelihood.java
index b3e2271..ecbdb4f 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/BeagleTreeLikelihood.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/BeagleTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * BeagleTreeLikelihood.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/BufferIndexHelper.java b/src/dr/app/beagle/evomodel/treelikelihood/BufferIndexHelper.java
index 8a451f7..a8edf28 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/BufferIndexHelper.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/BufferIndexHelper.java
@@ -1,7 +1,7 @@
 /*
  * BufferIndexHelper.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/MarkovJumpsBeagleTreeLikelihood.java b/src/dr/app/beagle/evomodel/treelikelihood/MarkovJumpsBeagleTreeLikelihood.java
index be090b4..335313c 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/MarkovJumpsBeagleTreeLikelihood.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/MarkovJumpsBeagleTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * MarkovJumpsBeagleTreeLikelihood.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/MarkovJumpsTraitProvider.java b/src/dr/app/beagle/evomodel/treelikelihood/MarkovJumpsTraitProvider.java
index 528606c..fafa3fa 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/MarkovJumpsTraitProvider.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/MarkovJumpsTraitProvider.java
@@ -1,7 +1,7 @@
 /*
  * MarkovJumpsTraitProvider.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/MultiPartitionTreeLikelihood.java b/src/dr/app/beagle/evomodel/treelikelihood/MultiPartitionTreeLikelihood.java
index 4647887..6102de7 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/MultiPartitionTreeLikelihood.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/MultiPartitionTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
- * BeagleTreeLikelihood.java
+ * MultiPartitionTreeLikelihood.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/OldAncestralStateBeagleTreeLikelihood.java b/src/dr/app/beagle/evomodel/treelikelihood/OldAncestralStateBeagleTreeLikelihood.java
index 9807c0e..6889de9 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/OldAncestralStateBeagleTreeLikelihood.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/OldAncestralStateBeagleTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * OldAncestralStateBeagleTreeLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/OldBeagleTreeLikelihood.java b/src/dr/app/beagle/evomodel/treelikelihood/OldBeagleTreeLikelihood.java
index 7fa5dcb..360298a 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/OldBeagleTreeLikelihood.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/OldBeagleTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
- * BeagleTreeLikelihood.java
+ * OldBeagleTreeLikelihood.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/OldMarkovJumpsBeagleTreeLikelihood.java b/src/dr/app/beagle/evomodel/treelikelihood/OldMarkovJumpsBeagleTreeLikelihood.java
index fe32405..bdb482b 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/OldMarkovJumpsBeagleTreeLikelihood.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/OldMarkovJumpsBeagleTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * OldMarkovJumpsBeagleTreeLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/PartialsRescalingScheme.java b/src/dr/app/beagle/evomodel/treelikelihood/PartialsRescalingScheme.java
index 9edd34e..f6bede5 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/PartialsRescalingScheme.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/PartialsRescalingScheme.java
@@ -1,7 +1,7 @@
 /*
  * PartialsRescalingScheme.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/SplitBySiteTraitLogger.java b/src/dr/app/beagle/evomodel/treelikelihood/SplitBySiteTraitLogger.java
index e4883c7..bf7e4f7 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/SplitBySiteTraitLogger.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/SplitBySiteTraitLogger.java
@@ -1,7 +1,7 @@
 /*
  * SplitBySiteTraitLogger.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/StarTreeLikelihood.java b/src/dr/app/beagle/evomodel/treelikelihood/StarTreeLikelihood.java
index 1ea37d3..da5d429 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/StarTreeLikelihood.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/StarTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * StarTreeLikelihood.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/treelikelihood/SubstitutionModelDelegate.java b/src/dr/app/beagle/evomodel/treelikelihood/SubstitutionModelDelegate.java
index 91dff4f..7b71686 100644
--- a/src/dr/app/beagle/evomodel/treelikelihood/SubstitutionModelDelegate.java
+++ b/src/dr/app/beagle/evomodel/treelikelihood/SubstitutionModelDelegate.java
@@ -1,7 +1,7 @@
 /*
  * SubstitutionModelDelegate.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/utilities/CompleteHistoryLogger.java b/src/dr/app/beagle/evomodel/utilities/CompleteHistoryLogger.java
index 5e585cf..4b36da7 100644
--- a/src/dr/app/beagle/evomodel/utilities/CompleteHistoryLogger.java
+++ b/src/dr/app/beagle/evomodel/utilities/CompleteHistoryLogger.java
@@ -1,7 +1,7 @@
 /*
  * CompleteHistoryLogger.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/utilities/DnDsLogger.java b/src/dr/app/beagle/evomodel/utilities/DnDsLogger.java
index 97fcc75..b048213 100644
--- a/src/dr/app/beagle/evomodel/utilities/DnDsLogger.java
+++ b/src/dr/app/beagle/evomodel/utilities/DnDsLogger.java
@@ -1,7 +1,7 @@
 /*
  * DnDsLogger.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/utilities/HistoryFilter.java b/src/dr/app/beagle/evomodel/utilities/HistoryFilter.java
index 0a0cd1a..ea44981 100644
--- a/src/dr/app/beagle/evomodel/utilities/HistoryFilter.java
+++ b/src/dr/app/beagle/evomodel/utilities/HistoryFilter.java
@@ -1,7 +1,7 @@
 /*
  * HistoryFilter.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/evomodel/utilities/TreeTraitLogger.java b/src/dr/app/beagle/evomodel/utilities/TreeTraitLogger.java
index 8436b4e..cb521fb 100644
--- a/src/dr/app/beagle/evomodel/utilities/TreeTraitLogger.java
+++ b/src/dr/app/beagle/evomodel/utilities/TreeTraitLogger.java
@@ -1,7 +1,7 @@
 /*
  * TreeTraitLogger.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/multidimensionalscaling/MassivelyParallelMDSImpl.java b/src/dr/app/beagle/multidimensionalscaling/MassivelyParallelMDSImpl.java
index dc90bd4..83bc345 100644
--- a/src/dr/app/beagle/multidimensionalscaling/MassivelyParallelMDSImpl.java
+++ b/src/dr/app/beagle/multidimensionalscaling/MassivelyParallelMDSImpl.java
@@ -1,7 +1,7 @@
 /*
  * MassivelyParallelMDSImpl.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -44,14 +44,22 @@ public class MassivelyParallelMDSImpl implements MultiDimensionalScalingCore {
     private int instance = -1; // Get instance # via initialization
     private final long flags = 0;
 
+    private static final long LEFT_TRUNCATION = 1 << 5;
+
     public MassivelyParallelMDSImpl() {
         singleton = NativeMDSSingleton.loadLibrary();
     }
 
     @Override
-    public void initialize(int embeddingDimension, int locationCount) {
+    public void initialize(int embeddingDimension, int locationCount, boolean isLeftTruncated) {
+        long flags = this.flags;
+        if (isLeftTruncated) {
+            flags |= LEFT_TRUNCATION;
+        }
+
         instance = singleton.initialize(embeddingDimension, locationCount, flags);
         this.observationCount = (locationCount * (locationCount - 1)) / 2;
+        this.isLeftTruncated = isLeftTruncated;
     }
 
     @Override
@@ -62,7 +70,7 @@ public class MassivelyParallelMDSImpl implements MultiDimensionalScalingCore {
     @Override
     public void setParameters(double[] parameters) {
         precision = parameters[0];
-//        singleton.setParameters(instance, parameters); // Not necessary
+        singleton.setParameters(instance, parameters); // Necessary for truncation
     }
 
     @Override
@@ -72,10 +80,16 @@ public class MassivelyParallelMDSImpl implements MultiDimensionalScalingCore {
 
     @Override
     public double calculateLogLikelihood() {
-        double sumOfSquaredResiduals = singleton.calculateLogLikelihood(instance);  // Really just returns SSR
+        double sumOfSquaredResiduals = singleton.getSumOfSquaredResiduals(instance);
+
+        double logLikelihood = (0.5 * Math.log(precision) * observationCount) -
+                        (0.5 * precision * sumOfSquaredResiduals);
+
+        if (isLeftTruncated) {
+            logLikelihood -= singleton.getSumOfLogTruncations(instance);
+        }
 
-        return (0.5 * Math.log(precision) * observationCount) -
-                (0.5 * precision * sumOfSquaredResiduals);
+        return logLikelihood;
     }
 
     @Override
@@ -91,6 +105,11 @@ public class MassivelyParallelMDSImpl implements MultiDimensionalScalingCore {
     }
 
     @Override
+    public void acceptState() {
+        singleton.acceptState(instance);
+    }
+
+    @Override
     public void makeDirty() {
         singleton.makeDirty(instance);
     }
@@ -98,5 +117,6 @@ public class MassivelyParallelMDSImpl implements MultiDimensionalScalingCore {
     private int observationCount;
     private double precision;
     private double storedPrecision;
+    private boolean isLeftTruncated;
 
 }
diff --git a/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingCore.java b/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingCore.java
index f254791..80b2903 100644
--- a/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingCore.java
+++ b/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingCore.java
@@ -1,7 +1,7 @@
 /*
  * MultiDimensionalScalingCore.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -38,7 +38,7 @@ public interface MultiDimensionalScalingCore {
     /**
      * initializes arrays.
      */
-    void initialize(int embeddingDimension, int locationCount);
+    void initialize(int embeddingDimension, int locationCount, boolean isLeftTruncated);
 
     /**
      * sets the observation data
@@ -75,4 +75,8 @@ public interface MultiDimensionalScalingCore {
      */
     void makeDirty();
 
+    /**
+     * Accept the proposed state
+     */
+    void acceptState();
 }
diff --git a/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingCoreImpl.java b/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingCoreImpl.java
index e8f08ca..505f6d3 100644
--- a/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingCoreImpl.java
+++ b/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingCoreImpl.java
@@ -1,7 +1,7 @@
 /*
  * MultiDimensionalScalingCoreImpl.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -43,10 +43,11 @@ public class MultiDimensionalScalingCoreImpl implements MultiDimensionalScalingC
     private static final boolean USE_CACHING = true;
 
     @Override
-    public void initialize(int embeddingDimension, int locationCount) {
+    public void initialize(int embeddingDimension, int locationCount, boolean isLeftTruncated) {
         this.embeddingDimension = embeddingDimension;
         this.locationCount = locationCount;
         this.observationCount = (locationCount * (locationCount - 1)) / 2;
+        this.isLeftTruncated = isLeftTruncated;
 
         observations = new double[locationCount][locationCount];
         squaredResiduals = new double[locationCount * locationCount];
@@ -172,6 +173,11 @@ public class MultiDimensionalScalingCoreImpl implements MultiDimensionalScalingC
 
     }
 
+    @Override
+    public void acceptState() {
+        // Do nothing
+    }
+
     protected void computeSumOfSquaredResiduals() {
         sumOfSquaredResiduals = 0.0;
         for (int i = 0; i < locationCount; i++) {
diff --git a/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingCoreImpl2.java b/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingCoreImpl2.java
index 6702656..c995d7a 100644
--- a/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingCoreImpl2.java
+++ b/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingCoreImpl2.java
@@ -1,7 +1,7 @@
 /*
- * MultiDimensionalScalingCoreImpl.java
+ * MultiDimensionalScalingCoreImpl2.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -25,6 +25,8 @@
 
 package dr.app.beagle.multidimensionalscaling;
 
+import dr.math.distributions.NormalDistribution;
+
 /**
  * MultiDimensionalScalingCoreImpl
  *
@@ -42,17 +44,25 @@ package dr.app.beagle.multidimensionalscaling;
 public class MultiDimensionalScalingCoreImpl2 implements MultiDimensionalScalingCore {
 
     @Override
-    public void initialize(int embeddingDimension, int locationCount) {
+    public void initialize(int embeddingDimension, int locationCount, boolean isLeftTruncated) {
         this.embeddingDimension = embeddingDimension;
         this.locationCount = locationCount;
         this.observationCount = (locationCount * (locationCount - 1)) / 2;
+        this.isLeftTruncated = isLeftTruncated;
 
         observations = new double[locationCount][locationCount];
         squaredResiduals = new double[locationCount][locationCount];
-        storedSquaredResiduals = new double[locationCount * locationCount];
+        storedSquaredResiduals = null;
         residualsKnown = false;
         sumOfSquaredResidualsKnown = false;
 
+        if (isLeftTruncated) {
+            truncations = new double[locationCount][locationCount];
+            storedTruncations = null;
+            truncationsKnown = false;
+            sumOfTruncationsKnown = false;
+        }
+
         updatedLocation = -1;
 
         locations = new double[locationCount][embeddingDimension];
@@ -75,34 +85,70 @@ public class MultiDimensionalScalingCoreImpl2 implements MultiDimensionalScaling
     @Override
     public void setParameters(double[] parameters) {
         precision = parameters[0];
+
+        // Handle truncations
+        truncationsKnown = false;
+        sumOfTruncationsKnown = false;
     }
 
     @Override
     public void updateLocation(int locationIndex, double[] location) {
-        if (updatedLocation != -1) {
+        if (updatedLocation != -1 || locationIndex == -1) {
             // more than one location updated - do a full recomputation
             residualsKnown = false;
             storedSquaredResiduals = null;
+
+            // Handle truncations
+            truncationsKnown = false;
+            storedTruncations = null;
         }
 
-        updatedLocation = locationIndex;
+        if (locationIndex != -1) {
+            updatedLocation = locationIndex;
 
-        if (location.length != embeddingDimension) {
-            throw new RuntimeException("Location is not the correct dimension");
-        }
+            if (location.length != embeddingDimension) {
+                throw new RuntimeException("Location is not the correct dimension");
+            }
+
+            System.arraycopy(location, 0, locations[locationIndex], 0, embeddingDimension);
 
-        System.arraycopy(location, 0, locations[locationIndex], 0, embeddingDimension);
+        } else {
+            if (location.length != embeddingDimension * locationCount) {
+                throw new RuntimeException("Location is the not correct dimension");
+            }
+
+            int offset = 0;
+            for (int i = 0; i < locationCount; ++i) {
+                System.arraycopy(location, offset, locations[i], 0, embeddingDimension);
+                offset += embeddingDimension;
+            }
+        }
 
         sumOfSquaredResidualsKnown = false;
+
+        // Handle truncation
+        sumOfTruncationsKnown = false;
     }
 
     @Override
     public double calculateLogLikelihood() {
         if (!sumOfSquaredResidualsKnown) {
+
             if (!residualsKnown) {
                 computeSumOfSquaredResiduals();
             } else {
                 updateSumOfSquaredResiduals();
+                if (REPORT_ROUNDOFF) {
+                    // Report round-off error
+                    double storedSumOfSquaredResults = sumOfSquaredResiduals;
+                    computeSumOfSquaredResiduals();
+                    if (Math.abs(storedSumOfSquaredResults - sumOfSquaredResiduals) > 1E-6) {
+                        System.err.println(storedSumOfSquaredResults);
+                        System.err.println(sumOfSquaredResiduals);
+                        System.err.println(storedSumOfSquaredResults - sumOfSquaredResiduals);
+                        System.err.println("");
+                    }
+                }
             }
             sumOfSquaredResidualsKnown = true;
         }
@@ -111,12 +157,16 @@ public class MultiDimensionalScalingCoreImpl2 implements MultiDimensionalScaling
                 (0.5 * precision * sumOfSquaredResiduals);
 
         if (isLeftTruncated) {
-            throw new UnsupportedOperationException("Truncations not implemented");
-//                if (!truncationsKnown) {
-//                    calculateTruncations(precision);
-//                }
-//                truncationSum = calculateTruncationSum();
-//                logLikelihood -= truncationSum;
+            if (!sumOfTruncationsKnown) {
+
+                if (!truncationsKnown) {
+                    computeSumOfTruncations();
+                } else {
+                    updateSumOfTruncations();
+                }
+                sumOfTruncationsKnown = true;
+            }
+            logLikelihood -= truncationSum;
         }
 
         return logLikelihood;
@@ -124,46 +174,96 @@ public class MultiDimensionalScalingCoreImpl2 implements MultiDimensionalScaling
 
     @Override
     public void storeState() {
+        // Handle residuals
         storedSumOfSquaredResiduals = sumOfSquaredResiduals;
+        storedSquaredResiduals = null;
+
+        // Handle locations
         for (int i = 0; i < locationCount; i++) {
             System.arraycopy(locations[i], 0 , storedLocations[i], 0, embeddingDimension);
         }
+        updatedLocation = -1;
 
-        storedSquaredResiduals = null;
-
+        // Handle precision
         storedPrecision = precision;
 
-        updatedLocation = -1;
+        // Handle truncations
+        if (isLeftTruncated) {
+            storedTruncationSum = truncationSum;
+            storedTruncations = null;
+        }
     }
 
     @Override
     public void restoreState() {
+        // Handle residuals
         sumOfSquaredResiduals = storedSumOfSquaredResiduals;
         sumOfSquaredResidualsKnown = true;
 
         if (storedSquaredResiduals != null) {
             System.arraycopy(storedSquaredResiduals, 0 , squaredResiduals[updatedLocation], 0, locationCount);
-            for (int j = 0; j < locationCount; j++) {
-                squaredResiduals[j][updatedLocation] = storedSquaredResiduals[j];
-            }
+//            for (int j = 0; j < locationCount; j++) { // Do not write transposed values
+//                squaredResiduals[j][updatedLocation] = storedSquaredResiduals[j];
+//            }
+            residualsKnown = true;
+        } else {
+            residualsKnown = false;
         }
 
+        // Handle locations
         double[][] tmp1 = storedLocations;
         storedLocations = locations;
         locations = tmp1;
 
+        // Handle precision
         precision = storedPrecision;
 
-        residualsKnown = true;
+        // Handle truncations
+        if (isLeftTruncated) {
+            truncationSum = storedTruncationSum;
+            sumOfTruncationsKnown = true;
+
+            if (storedTruncations != null) {
+                System.arraycopy(storedTruncations, 0, truncations[updatedLocation], 0, locationCount);
+//                for (int j = 0; j < locationCount; ++j) { // Do not write transposed values
+//                    truncations[j][updatedLocation] = storedTruncations[j];
+//                }
+                truncationsKnown = true;
+            } else {
+                truncationsKnown = false;
+            }
+        }
+    }
+
+    @Override
+    public void acceptState() {
+        if (storedSquaredResiduals != null) {
+            for (int j = 0; j < locationCount; ++j) {
+                squaredResiduals[j][updatedLocation] = squaredResiduals[updatedLocation][j];
+            }
+        }
+
+        if (isLeftTruncated) {
+            if (storedTruncations != null) {
+                for (int j = 0; j < locationCount; ++j) { // Do not write transposed values
+                    truncations[j][updatedLocation] = truncations[updatedLocation][j];
+                }
+            }
+        }
     }
 
     @Override
     public void makeDirty() {
         sumOfSquaredResidualsKnown = false;
         residualsKnown = false;
+
+        sumOfTruncationsKnown = false;
+        truncationsKnown = false;
     }
 
     protected void computeSumOfSquaredResiduals() {
+
+        // OLD
         sumOfSquaredResiduals = 0.0;
         for (int i = 0; i < locationCount; i++) {
 
@@ -172,17 +272,53 @@ public class MultiDimensionalScalingCoreImpl2 implements MultiDimensionalScaling
                 double residual = distance - observations[i][j];
                 double squaredResidual = residual * residual;
                 squaredResiduals[i][j] = squaredResidual;
-                squaredResiduals[j][i] = squaredResidual;
+//                squaredResiduals[j][i] = squaredResidual; // Do not write transposed values
                 sumOfSquaredResiduals += squaredResidual;
             }
         }
 
         sumOfSquaredResiduals /= 2;
 
+        // New   TODO
+//        sumOfSquaredResiduals = 0.0;
+//         for (int i = 0; i < locationCount; i++) {
+//
+//             for (int j = i + 1; j < locationCount; j++) {
+//                 double distance = calculateDistance(locations[i], locations[j]);
+//                 double residual = distance - observations[i][j];
+//                 double squaredResidual = residual * residual;
+//                 squaredResiduals[i][j] = squaredResidual;
+//                 squaredResiduals[j][i] = squaredResidual;
+//                 sumOfSquaredResiduals += squaredResidual;
+//             }
+//         }
+
         residualsKnown = true;
         sumOfSquaredResidualsKnown = true;
     }
 
+    protected void computeSumOfTruncations() {
+
+        final double oneOverSd = Math.sqrt(precision);
+
+        truncationSum = 0.0;
+        for (int i = 0; i < locationCount; i++) {
+
+            for (int j = 0; j < locationCount; j++) {
+                double squaredResidual = squaredResiduals[i][j]; // Note just written above, save transaction
+                double truncation = (i == j) ? 0.0 : computeTruncation(squaredResidual, precision, oneOverSd);
+                truncations[i][j] =  truncation;
+//                truncations[j][i] = truncation;
+                truncationSum += truncation;
+            }
+        }
+
+        truncationSum /= 2;
+
+        truncationsKnown = true;
+        sumOfTruncationsKnown = true;
+    }
+
     protected void updateSumOfSquaredResiduals() {
         double delta = 0.0;
 
@@ -199,12 +335,35 @@ public class MultiDimensionalScalingCoreImpl2 implements MultiDimensionalScaling
             delta += squaredResidual - squaredResiduals[i][j];
 
             squaredResiduals[i][j] = squaredResidual;
-            squaredResiduals[j][i] = squaredResidual;
+//            squaredResiduals[j][i] = squaredResidual; // Do not write transposed values
         }
 
         sumOfSquaredResiduals += delta;
     }
 
+    protected void updateSumOfTruncations() {
+        final double oneOverSd = Math.sqrt(precision);
+        double delta = 0.0;
+
+        int i = updatedLocation;
+
+        storedTruncations = new double[locationCount];
+        System.arraycopy(truncations[i], 0, storedTruncations, 0, locationCount);
+
+        for (int j = 0; j < locationCount; j++) {
+
+            double squaredResidual = squaredResiduals[i][j];
+            double truncation = (i == j) ? 0.0 : computeTruncation(squaredResidual, precision, oneOverSd);
+
+            delta += truncation - truncations[i][j];
+
+            truncations[i][j] = truncation;
+//            truncations[j][i] = truncation; // Do not write transposed values
+        }
+
+        truncationSum += delta;
+    }
+
     protected double calculateDistance(double[] X, double[] Y) {
         double sum = 0.0;
         for (int i = 0; i < embeddingDimension; i++) {
@@ -214,6 +373,10 @@ public class MultiDimensionalScalingCoreImpl2 implements MultiDimensionalScaling
         return Math.sqrt(sum);
     }
 
+    protected double computeTruncation(double squaredResidual, double precision, double oneOverSd) {
+        return NormalDistribution.standardCDF(Math.sqrt(squaredResidual) * oneOverSd, true);
+    }
+
 //    protected void calculateTruncations(double precision) {
 //        double sd = 1.0 / Math.sqrt(precision);
 //        for (int i = 0; i < distanceCount; i++) {
@@ -261,9 +424,13 @@ public class MultiDimensionalScalingCoreImpl2 implements MultiDimensionalScaling
     private double storedSumOfSquaredResiduals;
 
     private boolean truncationsKnown = false;
+    private boolean sumOfTruncationsKnown = false;
+
     private double truncationSum;
     private double storedTruncationSum;
-    private double[] truncations;
+    private double[][] truncations;
     private double[] storedTruncations;
 
+    private static boolean REPORT_ROUNDOFF = false;
+
 }
diff --git a/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingLikelihood.java b/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingLikelihood.java
index 90381a6..e718e21 100644
--- a/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingLikelihood.java
+++ b/src/dr/app/beagle/multidimensionalscaling/MultiDimensionalScalingLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * MultiDimensionalScalingLikelihood.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -51,22 +51,33 @@ public class MultiDimensionalScalingLikelihood extends AbstractModelLikelihood {
 
     public final static String MULTIDIMENSIONAL_SCALING_LIKELIHOOD = "multiDimensionalScalingLikelihood";
 
+    public MultiDimensionalScalingLikelihood(
+            int mdsDimension,
+            Parameter mdsPrecision,
+            MatrixParameter locationsParameter,
+            DataTable<double[]> dataTable) {
+        this(mdsDimension, mdsPrecision, locationsParameter, dataTable, false);
+    }
+
     /**
      * A simple constructor for a fully specified symmetrical data matrix
      * @param mdsDimension
      * @param mdsPrecision
      * @param locationsParameter
      * @param dataTable
+     * @param includeTruncation
      */
     public MultiDimensionalScalingLikelihood(
             int mdsDimension,
             Parameter mdsPrecision,
             MatrixParameter locationsParameter,
-            DataTable<double[]> dataTable) {
+            DataTable<double[]> dataTable,
+            boolean isLeftTruncated) {
 
         super(MULTIDIMENSIONAL_SCALING_LIKELIHOOD);
 
         this.mdsDimension = mdsDimension;
+        this.isLeftTruncated = isLeftTruncated;
 
         // construct a compact data table
         String[] rowLabels = dataTable.getRowLabels();
@@ -99,7 +110,8 @@ public class MultiDimensionalScalingLikelihood extends AbstractModelLikelihood {
 
         }
 
-        initialize(mdsDimension, mdsPrecision, locationsParameter, rowLabels, observations, observationTypes);
+        initialize(mdsDimension, mdsPrecision, isLeftTruncated, locationsParameter,
+                rowLabels, observations, observationTypes);
     }
 
     private MultiDimensionalScalingCore getCore() {
@@ -124,13 +136,14 @@ public class MultiDimensionalScalingLikelihood extends AbstractModelLikelihood {
     protected void initialize(
             final int mdsDimension,
             final Parameter mdsPrecision,
+            final boolean isLeftTruncated,
             final MatrixParameter locationsParameter,
             final String[] locationLabels,
             final double[] observations,
             final ObservationType[] observationTypes) {
 
         this.mdsCore = getCore();
-        this.mdsCore.initialize(mdsDimension, locationCount);
+        this.mdsCore.initialize(mdsDimension, locationCount, isLeftTruncated);
         this.locationLabels = locationLabels;
 
         this.locationsParameter = locationsParameter;
@@ -188,9 +201,15 @@ public class MultiDimensionalScalingLikelihood extends AbstractModelLikelihood {
         // TODO Flag which cachedDistances or mdsPrecision need to be updated
 
         if (variable == locationsParameter) {
-            int locationIndex = index / mdsDimension;
 
-            mdsCore.updateLocation(locationIndex, locationsParameter.getColumnValues(locationIndex));
+            if (index == -1) {
+
+                mdsCore.updateLocation(-1, locationsParameter.getParameterValues());
+            } else {
+
+                int locationIndex = index / mdsDimension;
+                mdsCore.updateLocation(locationIndex, locationsParameter.getColumnValues(locationIndex));
+            }
         } else if (variable == mdsPrecisionParameter) {
             mdsCore.setParameters(mdsPrecisionParameter.getParameterValues());
         } else {
@@ -215,6 +234,7 @@ public class MultiDimensionalScalingLikelihood extends AbstractModelLikelihood {
 
     @Override
     protected void acceptState() {
+        mdsCore.acceptState();
         // do nothing
     }
 
@@ -246,6 +266,7 @@ public class MultiDimensionalScalingLikelihood extends AbstractModelLikelihood {
         public final static String LOCATIONS = "locations";
         public static final String MDS_DIMENSION = "mdsDimension";
         public static final String MDS_PRECISION = "mdsPrecision";
+        public static final String INCLUDE_TRUNCATION = "includeTruncation";
         public static final String USE_OLD = "useOld";
 
         public String getParserName() {
@@ -274,10 +295,14 @@ public class MultiDimensionalScalingLikelihood extends AbstractModelLikelihood {
 
             boolean useOld = xo.getAttribute(USE_OLD, false);
 
+            boolean includeTrauncation = xo.getAttribute(INCLUDE_TRUNCATION, false);
+
             if (useOld) {
-                return new MultidimensionalScalingLikelihood(mdsDimension, mdsPrecision, locationsParameter, distanceTable);
+                System.err.println("USE OLD");
+                return new MultidimensionalScalingLikelihood(mdsDimension, includeTrauncation, mdsPrecision, locationsParameter, distanceTable);
             } else {
-                return new MultiDimensionalScalingLikelihood(mdsDimension, mdsPrecision, locationsParameter, distanceTable);
+                return new MultiDimensionalScalingLikelihood(mdsDimension, mdsPrecision, locationsParameter,
+                        distanceTable, includeTrauncation);
             }
         }
 
@@ -298,7 +323,8 @@ public class MultiDimensionalScalingLikelihood extends AbstractModelLikelihood {
                 AttributeRule.newStringRule(FILE_NAME, false, "The name of the file containing the assay table"),
                 AttributeRule.newIntegerRule(MDS_DIMENSION, false, "The dimension of the space for MDS"),
                 new ElementRule(LOCATIONS, MatrixParameter.class),
-                AttributeRule.newStringRule(USE_OLD, true),
+                AttributeRule.newBooleanRule(USE_OLD, true),
+                AttributeRule.newBooleanRule(INCLUDE_TRUNCATION, true),
                 new ElementRule(MDS_PRECISION, Parameter.class)
         };
 
@@ -309,6 +335,7 @@ public class MultiDimensionalScalingLikelihood extends AbstractModelLikelihood {
 
     private final int mdsDimension;
     private final int locationCount;
+    private final boolean isLeftTruncated;
 
     private MultiDimensionalScalingCore mdsCore;
 
diff --git a/src/dr/app/beagle/multidimensionalscaling/NativeMDSSingleton.java b/src/dr/app/beagle/multidimensionalscaling/NativeMDSSingleton.java
index ca12681..eba2f76 100644
--- a/src/dr/app/beagle/multidimensionalscaling/NativeMDSSingleton.java
+++ b/src/dr/app/beagle/multidimensionalscaling/NativeMDSSingleton.java
@@ -1,7 +1,7 @@
 /*
  * NativeMDSSingleton.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -55,7 +55,7 @@ public class NativeMDSSingleton {
             if (osArch.equals("i386")) return LIBRARY_NAME + "32";
             if (osArch.startsWith("amd64") || osArch.startsWith("x86_64")) return LIBRARY_NAME + "64";
         }
-        return LIBRARY_NAME;
+        return "lib" + LIBRARY_NAME + ".dylib";
     }
 
     public static NativeMDSSingleton loadLibrary() throws UnsatisfiedLinkError {
@@ -70,7 +70,7 @@ public class NativeMDSSingleton {
                 }
             }
 
-            System.loadLibrary(path + LIBRARY_PLATFORM_NAME);
+            System.load(path + LIBRARY_PLATFORM_NAME);
             INSTANCE = new NativeMDSSingleton();
             System.err.println("MDS library loaded.");
         }
@@ -84,12 +84,16 @@ public class NativeMDSSingleton {
 
     public native void updateLocations(int instance, int updateCount, double[] locations);
 
-    public native double calculateLogLikelihood(int instance);
+    public native double getSumOfSquaredResiduals(int instance);
+
+    public native double getSumOfLogTruncations(int instance);
 
     public native void storeState(int instance);
 
     public native void restoreState(int instance);
 
+    public native void acceptState(int instance);
+
     public native void makeDirty(int instance);
 
     public native void setPairwiseData(int instance, double[] observations);
diff --git a/src/dr/app/beagle/tools/BeagleSequenceSimulator.java b/src/dr/app/beagle/tools/BeagleSequenceSimulator.java
index 67e1415..a2de2d5 100644
--- a/src/dr/app/beagle/tools/BeagleSequenceSimulator.java
+++ b/src/dr/app/beagle/tools/BeagleSequenceSimulator.java
@@ -1,7 +1,7 @@
 /*
  * BeagleSequenceSimulator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/tools/CompleteHistorySimulator.java b/src/dr/app/beagle/tools/CompleteHistorySimulator.java
index 8ed0308..3ddc4ee 100644
--- a/src/dr/app/beagle/tools/CompleteHistorySimulator.java
+++ b/src/dr/app/beagle/tools/CompleteHistorySimulator.java
@@ -1,7 +1,7 @@
 /*
  * CompleteHistorySimulator.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/tools/Partition.java b/src/dr/app/beagle/tools/Partition.java
index 1a07ddd..7cb0aeb 100644
--- a/src/dr/app/beagle/tools/Partition.java
+++ b/src/dr/app/beagle/tools/Partition.java
@@ -1,7 +1,7 @@
 /*
  * Partition.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/tools/SiteLogLikelihoodLogger.java b/src/dr/app/beagle/tools/SiteLogLikelihoodLogger.java
index 3bcd671..c2a6cd1 100644
--- a/src/dr/app/beagle/tools/SiteLogLikelihoodLogger.java
+++ b/src/dr/app/beagle/tools/SiteLogLikelihoodLogger.java
@@ -1,3 +1,28 @@
+/*
+ * SiteLogLikelihoodLogger.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.tools;
 
 import dr.app.beagle.evomodel.treelikelihood.BeagleTreeLikelihood;
diff --git a/src/dr/app/beagle/tools/parsers/BeagleSequenceSimulatorParser.java b/src/dr/app/beagle/tools/parsers/BeagleSequenceSimulatorParser.java
index 2646898..c30eae6 100644
--- a/src/dr/app/beagle/tools/parsers/BeagleSequenceSimulatorParser.java
+++ b/src/dr/app/beagle/tools/parsers/BeagleSequenceSimulatorParser.java
@@ -1,7 +1,7 @@
 /*
  * BeagleSequenceSimulatorParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/tools/parsers/CompleteHistorySimulatorParser.java b/src/dr/app/beagle/tools/parsers/CompleteHistorySimulatorParser.java
index 4c99a03..486097c 100644
--- a/src/dr/app/beagle/tools/parsers/CompleteHistorySimulatorParser.java
+++ b/src/dr/app/beagle/tools/parsers/CompleteHistorySimulatorParser.java
@@ -1,7 +1,7 @@
 /*
  * CompleteHistorySimulatorParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/tools/parsers/PartitionParser.java b/src/dr/app/beagle/tools/parsers/PartitionParser.java
index 34b90d3..2c1c9de 100644
--- a/src/dr/app/beagle/tools/parsers/PartitionParser.java
+++ b/src/dr/app/beagle/tools/parsers/PartitionParser.java
@@ -1,7 +1,7 @@
 /*
  * PartitionParser.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beagle/tools/parsers/SiteLogLikelihoodLoggerParser.java b/src/dr/app/beagle/tools/parsers/SiteLogLikelihoodLoggerParser.java
index 9aaa413..9b36a4e 100644
--- a/src/dr/app/beagle/tools/parsers/SiteLogLikelihoodLoggerParser.java
+++ b/src/dr/app/beagle/tools/parsers/SiteLogLikelihoodLoggerParser.java
@@ -1,3 +1,28 @@
+/*
+ * SiteLogLikelihoodLoggerParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beagle.tools.parsers;
 
 import dr.app.beagle.evomodel.treelikelihood.BeagleTreeLikelihood;
diff --git a/src/dr/app/beast/BeastDialog.java b/src/dr/app/beast/BeastDialog.java
index 1637d8a..eb61df3 100644
--- a/src/dr/app/beast/BeastDialog.java
+++ b/src/dr/app/beast/BeastDialog.java
@@ -1,7 +1,7 @@
 /*
  * BeastDialog.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -175,7 +175,7 @@ public class BeastDialog {
                 "<html><div style=\"font-family:'helvetica neue light',helvetica,sans-serif;font-size:12;\"><p>BEAGLE is a high-performance phylogenetic library that can make use of<br>" +
                         "additional computational resources such as graphics boards. It must be<br>" +
                         "downloaded and installed independently of BEAST:</p>" +
-                        "<pre><a href=\"http://beagle-lib.googlecode.com/\">http://beagle-lib.googlecode.com/</a></pre></div>");
+                        "<pre><a href=\"http://github.com/beagle-dev/beagle-lib/\">http://github.com/beagle-dev/beagle-lib/</a></pre></div>");
         beagleInfo.setOpaque(false);
         beagleInfo.setEditable(false);
         beagleInfo.addHyperlinkListener(new SimpleLinkListener());
diff --git a/src/dr/app/beast/BeastMC3.java b/src/dr/app/beast/BeastMC3.java
index c590bb6..b40d8b5 100644
--- a/src/dr/app/beast/BeastMC3.java
+++ b/src/dr/app/beast/BeastMC3.java
@@ -1,7 +1,7 @@
 /*
  * BeastMC3.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beast/BeastMC3Dialog.java b/src/dr/app/beast/BeastMC3Dialog.java
index fc73b31..138bf5d 100644
--- a/src/dr/app/beast/BeastMC3Dialog.java
+++ b/src/dr/app/beast/BeastMC3Dialog.java
@@ -1,7 +1,7 @@
 /*
  * BeastMC3Dialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beast/BeastMPI.java b/src/dr/app/beast/BeastMPI.java
index 455d183..8a0e756 100644
--- a/src/dr/app/beast/BeastMPI.java
+++ b/src/dr/app/beast/BeastMPI.java
@@ -1,7 +1,7 @@
 /*
  * BeastMPI.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beast/BeastMain.java b/src/dr/app/beast/BeastMain.java
index 03d7f71..2a95c84 100644
--- a/src/dr/app/beast/BeastMain.java
+++ b/src/dr/app/beast/BeastMain.java
@@ -1,7 +1,7 @@
 /*
  * BeastMain.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -341,13 +341,17 @@ public class BeastMain {
                         new Arguments.Option("beagle_async", "BEAGLE: use asynchronous kernels if available"),
                         new Arguments.StringOption("beagle_scaling", new String[]{"default", "dynamic", "delayed", "always", "none"},
                                 false, "BEAGLE: specify scaling scheme to use"),
-                        new Arguments.IntegerOption("beagle_rescale", "BEAGLE: frequency of rescaling (dynamic scaling only)"),
+                        new Arguments.LongOption("beagle_rescale", "BEAGLE: frequency of rescaling (dynamic scaling only)"),
                         new Arguments.Option("mpi", "Use MPI rank to label output"),
 
                         new Arguments.IntegerOption("mc3_chains", 1, Integer.MAX_VALUE, "number of chains"),
                         new Arguments.RealOption("mc3_delta", 0.0, Double.MAX_VALUE, "temperature increment parameter"),
                         new Arguments.RealArrayOption("mc3_temperatures", -1, "a comma-separated list of the hot chain temperatures"),
-                        new Arguments.IntegerOption("mc3_swap", 1, Integer.MAX_VALUE, "frequency at which chains temperatures will be swapped"),
+                        new Arguments.LongOption("mc3_swap", 1, Integer.MAX_VALUE, "frequency at which chains temperatures will be swapped"),
+
+                        new Arguments.StringOption("load_dump", "FILENAME", "Specify a filename to load a dumped state from"),
+                        new Arguments.LongOption("dump_state", "Specify a state at which to write a dump file"),
+                        new Arguments.LongOption("dump_every", "Specify a frequency to write a dump file"),
 
                         new Arguments.Option("version", "Print the version and credits and stop"),
                         new Arguments.Option("help", "Print this information and stop"),
@@ -516,6 +520,21 @@ public class BeastMain {
             }
         }
 
+        if (arguments.hasOption("load_dump")) {
+            String debugStateFile = arguments.getStringOption("load_dump");
+            System.setProperty(MCMC.LOAD_DUMP_FILE, debugStateFile);
+        }
+
+        if (arguments.hasOption("dump_state")) {
+            long debugWriteState = arguments.getLongOption("dump_state");
+            System.setProperty(MCMC.DUMP_STATE, Long.toString(debugWriteState));
+        }
+
+        if (arguments.hasOption("dump_every")) {
+            long debugWriteEvery = arguments.getLongOption("dump_every");
+            System.setProperty(MCMC.DUMP_EVERY, Long.toString(debugWriteEvery));
+        }
+
         if (useMPI) {
             String[] nullArgs = new String[0];
             try {
@@ -647,7 +666,7 @@ public class BeastMain {
 
             if (BeagleInfo.getVersion().startsWith("1.")) {
                 System.err.println("WARNING: You are currenly using BEAGLE v1.x. For best performance and compatibility\n" +
-                        "with models in BEAST, please upgrade to BEAGLE v2.x at http://beagle-lib.googlecode.com/\n");
+                        "with models in BEAST, please upgrade to BEAGLE v2.x at http://github.com/beagle-dev/beagle-lib/\n");
             }
         }
 
diff --git a/src/dr/app/beast/BeastParser.java b/src/dr/app/beast/BeastParser.java
index 84bb175..871d8b8 100644
--- a/src/dr/app/beast/BeastParser.java
+++ b/src/dr/app/beast/BeastParser.java
@@ -1,7 +1,7 @@
 /*
  * BeastParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beast/BeastRemote.java b/src/dr/app/beast/BeastRemote.java
index c9b80a6..9241160 100644
--- a/src/dr/app/beast/BeastRemote.java
+++ b/src/dr/app/beast/BeastRemote.java
@@ -1,3 +1,28 @@
+/*
+ * BeastRemote.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beast;
 
 import dr.app.util.Arguments;
@@ -117,7 +142,7 @@ public class BeastRemote extends BeastMain {
 					"<a href=\"mailto:a.rambaut at ed.ac.uk\">a.rambaut at ed.ac.uk</a></p>" +
 					"<p><a href=\"http://evolve.zoo.ox.ac.uk/beast/\">http://evolve.zoo.ox.ac.uk/beast/</a></p>" +
 					"<p>Source code distributed under the GNU LGPL:<br>" +
-					"<a href=\"http://code.google.com/p/beast-mcmc/\">http://code.google.com/p/beast-mcmc/</a></p>" +
+					"<a href=\"http://github.com/beast-dev/beast-mcmc/\">http://github.com/beast-dev/beast-mcmc/</a></p>" +
 					"<p>Additional programming by:<br>" +
 					"Roald Forsberg, Gerton Lunter, Sidney Markowitz, Oliver Pybus</p>" +
 					"<p>Thanks to Korbinian Strimmer for use of his code</p>" +
diff --git a/src/dr/app/beast/BeastVersion.java b/src/dr/app/beast/BeastVersion.java
index 3bade48..60379e8 100644
--- a/src/dr/app/beast/BeastVersion.java
+++ b/src/dr/app/beast/BeastVersion.java
@@ -1,7 +1,7 @@
 /*
  * BeastVersion.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -29,12 +29,10 @@ import dr.util.Version;
 
 /**
  * This class provides a mechanism for returning the version number of the
- * dr software. It relies on the administrator of the dr source using the
- * module tagging system in CVS. The method getVersionString() will return
- * the version of dr under the following condition: <BR>
- * 1. the dr source has been checked out *by tag* before being packaged for
- * distribution.
- * <p/>
+ * dr software.
+ *
+ * This is manually updated as required. The REVISION string is no longer used
+ * since switching to GitHub.
  *
  * @author Alexei Drummond
  * @author Andrew Rambaut
@@ -46,13 +44,15 @@ public class BeastVersion implements Version {
     /**
      * Version string: assumed to be in format x.x.x
      */
-    private static final String VERSION = "1.8.2";
+    private static final String VERSION = "1.8.3";
 
     private static final String DATE_STRING = "2002-2015";
 
-    private static final boolean IS_PRERELEASE = false;
+    private static final boolean IS_PRERELEASE = true;
 
-    private static final String REVISION = "$Rev$";
+    // this is now being manually updated since the move to GitHub. Using date in yyyymmdd format (suffix
+    // with b,c,d etc if multiple revisions in a day.
+    private static final String REVISION = "GitHub 20150808";
 
     public String getVersion() {
         return VERSION;
@@ -88,7 +88,7 @@ public class BeastVersion implements Version {
                 "\thttp://beast.bio.ed.ac.uk",
                 "",
                 "Source code distributed under the GNU Lesser General Public License:",
-                "\thttp://code.google.com/p/beast-mcmc",
+                "\thttp://github.com/beast-dev/beast-mcmc",
                 "",
                 "BEAST developers:",
                 "\tAlex Alekseyenko, Guy Baele, Trevor Bedford, Filip Bielejec, Erik Bloomquist, Matthew Hall,",
@@ -112,7 +112,7 @@ public class BeastVersion implements Version {
                         "<a href=\"mailto:msuchard at ucla.edu\">msuchard at ucla.edu</a></p>" +
                         "<p><a href=\"http://beast.bio.ed.ac.uk\">http://beast.bio.ed.ac.uk</a></p>" +
                         "<p>Source code distributed under the GNU LGPL:<br>" +
-                        "<a href=\"http://code.google.com/p/beast-mcmc\">http://code.google.com/p/beast-mcmc</a></p>" +
+                        "<a href=\"http://github.com/beast-dev/beast-mcmc\">http://github.com/beast-dev/beast-mcmc</a></p>" +
                         "<p>BEAST developers:<br>" +
                         "Alex Alekseyenko, Guy Baele, Trevor Bedford, Filip Bielejec, Erik Bloomquist, Matthew Hall,<br>"+
                         "Joseph Heled, Sebastian Hoehna, Denise Kuehnert, Philippe Lemey, Wai Lok Sibon Li,<br>"+
diff --git a/src/dr/app/beast/beagle_parsers.properties b/src/dr/app/beast/beagle_parsers.properties
index 706d08a..ddd493a 100644
--- a/src/dr/app/beast/beagle_parsers.properties
+++ b/src/dr/app/beast/beagle_parsers.properties
@@ -1,7 +1,7 @@
 #
 # beagle_parsers.properties
 #
-# Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+# Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
 #
 # This file is part of BEAST.
 # See the NOTICE file distributed with this work for additional
@@ -89,8 +89,13 @@ dr.app.beagle.tools.parsers.SiteLogLikelihoodLoggerParser
 dr.app.beagle.evomodel.branchmodel.lineagespecific.LineageSpecificBranchModelParser
 dr.app.beagle.evomodel.branchmodel.lineagespecific.BranchSpecificTraitParser
 dr.app.beagle.evomodel.parsers.RandomBranchModelParser
+dr.app.beagle.evomodel.parsers.BranchAssignmentModelParser
+dr.app.beagle.evomodel.branchmodel.lineagespecific.BeagleBranchLikelihoodParser
 
 
 # Dollo model
 dr.app.beagle.evomodel.parsers.MutationDeathModelParser
 dr.app.beagle.evomodel.parsers.ALSTreeLikelihoodParser
+
+# New parameter wrappers
+dr.inferencexml.model.MaskedMatrixParameterParser
diff --git a/src/dr/app/beast/beast.properties b/src/dr/app/beast/beast.properties
index e0947c3..4dfb32a 100644
--- a/src/dr/app/beast/beast.properties
+++ b/src/dr/app/beast/beast.properties
@@ -1,2 +1,27 @@
+#
+# beast.properties
+#
+# Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+#
+# This file is part of BEAST.
+# See the NOTICE file distributed with this work for additional
+# information regarding copyright ownership and licensing.
+#
+# BEAST 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; either version 2
+# of the License, or (at your option) any later version.
+#
+#  BEAST is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with BEAST; if not, write to the
+# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+# Boston, MA  02110-1301  USA
+#
+
 parsers=development
 #parsers=release
diff --git a/src/dr/app/beast/development_parsers.properties b/src/dr/app/beast/development_parsers.properties
index d8a5ad0..6a62686 100644
--- a/src/dr/app/beast/development_parsers.properties
+++ b/src/dr/app/beast/development_parsers.properties
@@ -1,7 +1,7 @@
 #
 # development_parsers.properties
 #
-# Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+# Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
 #
 # This file is part of BEAST.
 # See the NOTICE file distributed with this work for additional
@@ -50,11 +50,15 @@ dr.inference.model.LikelihoodProfile
 dr.evomodelxml.continuous.BuildCompoundSymmetricMatrix
 dr.inferencexml.model.BlockUpperTriangularMatrixParameterParser
 dr.inferencexml.model.MatrixMatrixProductParser
+dr.inferencexml.model.MatrixVectorProductParameterParser
+dr.inferencexml.model.DifferenceMatrixParameterParser
+dr.inferencexml.model.DifferenceParameterParser
 
 # DISTRIBUTIONS
 
 dr.inferencexml.distribution.ScaledBetaDistributionModelParser
 dr.inferencexml.distribution.InverseGammaDistributionModelParser
+dr.inferencexml.distribution.MomentDistributionModelParser
 
 # STRUCTURED COALESCENT
 dr.evomodel.coalescent.structure.StructuredCoalescentLikelihood
@@ -97,6 +101,8 @@ dr.evomodelxml.coalescent.operators.GaussianProcessSkytrackTreeOperatorParser
 # TREE SUMMARY STATISTICS
 dr.evomodelxml.WanderingTaxonLoggerParser
 
+dr.evomodel.treelikelihood.RootDiscreteStateStatistic
+
 # CONTINUOUS DIFFUSION
 dr.evomodel.continuous.VonMisesFisherDiffusionModel
 dr.evoxml.BifractionalDiffusionModelParser
@@ -110,11 +116,11 @@ dr.evomodelxml.continuous.GaussianProcessFromTreeParser
 # HIERARCHICAL MODELS
 dr.inferencexml.operators.HierarchicalBitFlipOperatorParser
 dr.inferencexml.distribution.HierarchicalGraphLikelihoodParser
-dr.inferencexml.model.MatrixVectorProductParameterParser
 
 # SIMULATION STUDIES
 dr.evoxml.RandomSubsetTaxaParser
 dr.evomodel.continuous.TreeTraitSimulator
+dr.inferencexml.operators.SwapParameterOperatorParser
 
 #OPERATORS
 dr.inferencexml.operators.MsatFullAncestryImportanceSamplingOperatorParser
@@ -147,6 +153,11 @@ dr.app.seqgen.RecomboGen
 # POPULATION MODELS
 dr.evomodel.epidemiology.LogisticGrowthN0ModelParser
 dr.evomodelxml.coalescent.ExponentialConstantModelParser
+dr.evomodelxml.coalescent.LinearGrowthModelParser
+dr.evomodelxml.coalescent.PowerLawGrowthModelParser
+dr.evomodelxml.coalescent.PeakAndDeclineModelParser
+dr.evomodelxml.coalescent.AsymptoticGrowthModelParser
+
 
 # UNIFORM INTERNAL NODE HEIGHT PRIOR
 dr.evomodelxml.operators.FunkyPriorMixerOperatorParser
@@ -168,6 +179,7 @@ dr.evomodel.continuous.TruncatedWorkingDistribution
 dr.inferencexml.distribution.LocationScaleJeffreysPriorParser
 dr.inferencexml.distribution.TwoPieceLocationScaleDistributionModelParser
 dr.inferencexml.distribution.TDistributionModelParser
+dr.inferencexml.model.IndianBuffetProcessPriorParser
 
 # CONSTRAINTS
 dr.inference.model.EqualityConstraintModel
@@ -201,4 +213,6 @@ dr.app.beagle.evomodel.branchmodel.lineagespecific.RatioParameterParser
 
 # NEW Bayesian MDS
 dr.app.beagle.multidimensionalscaling.MultiDimensionalScalingLikelihood
+dr.inference.model.CompoundMatrixParameter
+dr.inference.model.CopyParameterValuesParser
 
diff --git a/src/dr/app/beast/release_parsers.properties b/src/dr/app/beast/release_parsers.properties
index 9f72766..44b9d1a 100644
--- a/src/dr/app/beast/release_parsers.properties
+++ b/src/dr/app/beast/release_parsers.properties
@@ -1,7 +1,7 @@
 #
 # release_parsers.properties
 #
-# Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+# Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
 #
 # This file is part of BEAST.
 # See the NOTICE file distributed with this work for additional
@@ -75,6 +75,8 @@ dr.evomodelxml.substmodel.MsatBMAParser
 dr.evomodelxml.substmodel.EmpiricalCodonModelParser
 dr.evomodelxml.substmodel.PCACodonModelParser
 
+dr.app.beagle.evomodel.parsers.ExternalInternalBranchModelParser
+
 # COMPLEX SUBSTITUTION MODELS
 dr.evomodelxml.substmodel.ComplexSubstitutionModelParser
 dr.evomodelxml.substmodel.GLMSubstitutionModelParser
diff --git a/src/dr/app/beastgen/BEASTGen.java b/src/dr/app/beastgen/BEASTGen.java
index 170a4ca..26e9e67 100644
--- a/src/dr/app/beastgen/BEASTGen.java
+++ b/src/dr/app/beastgen/BEASTGen.java
@@ -1,3 +1,28 @@
+/*
+ * BEASTGen.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beastgen;
 
 import dr.app.beauti.options.DateGuesser;
diff --git a/src/dr/app/beastgen/BeastImporter.java b/src/dr/app/beastgen/BeastImporter.java
index 1a38d8f..b4a097c 100644
--- a/src/dr/app/beastgen/BeastImporter.java
+++ b/src/dr/app/beastgen/BeastImporter.java
@@ -1,3 +1,28 @@
+/*
+ * BeastImporter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beastgen;
 
 import dr.evolution.alignment.Alignment;
diff --git a/src/dr/app/beastgen/DataModelImporter.java b/src/dr/app/beastgen/DataModelImporter.java
index d801984..75c1e62 100644
--- a/src/dr/app/beastgen/DataModelImporter.java
+++ b/src/dr/app/beastgen/DataModelImporter.java
@@ -1,3 +1,28 @@
+/*
+ * DataModelImporter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beastgen;
 
 import dr.app.beauti.options.*;
diff --git a/src/dr/app/beastgen/NexusApplicationImporter.java b/src/dr/app/beastgen/NexusApplicationImporter.java
index e14bbfa..768a0af 100644
--- a/src/dr/app/beastgen/NexusApplicationImporter.java
+++ b/src/dr/app/beastgen/NexusApplicationImporter.java
@@ -1,3 +1,28 @@
+/*
+ * NexusApplicationImporter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beastgen;
 
 import dr.app.beauti.options.BeautiOptions;
diff --git a/src/dr/app/beauti/BeautiApp.java b/src/dr/app/beauti/BeautiApp.java
index 4665bbc..b63cfbe 100644
--- a/src/dr/app/beauti/BeautiApp.java
+++ b/src/dr/app/beauti/BeautiApp.java
@@ -1,7 +1,7 @@
 /*
  * BeautiApp.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/BeautiDefaultFileMenuFactory.java b/src/dr/app/beauti/BeautiDefaultFileMenuFactory.java
index 48f82e5..eed5b0e 100644
--- a/src/dr/app/beauti/BeautiDefaultFileMenuFactory.java
+++ b/src/dr/app/beauti/BeautiDefaultFileMenuFactory.java
@@ -1,3 +1,28 @@
+/*
+ * BeautiDefaultFileMenuFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti;
 
 import jam.framework.AbstractFrame;
diff --git a/src/dr/app/beauti/BeautiFrame.java b/src/dr/app/beauti/BeautiFrame.java
index e45a1c1..ef8db38 100644
--- a/src/dr/app/beauti/BeautiFrame.java
+++ b/src/dr/app/beauti/BeautiFrame.java
@@ -1,6 +1,31 @@
 /*
  * BeautiFrame.java
  *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
+ * BeautiFrame.java
+ *
  * (c) 2002-2005 BEAST Development Core Team
  *
  * This package may be distributed under the
diff --git a/src/dr/app/beauti/BeautiMacFileMenuFactory.java b/src/dr/app/beauti/BeautiMacFileMenuFactory.java
index a5ef0ae..df40a4a 100755
--- a/src/dr/app/beauti/BeautiMacFileMenuFactory.java
+++ b/src/dr/app/beauti/BeautiMacFileMenuFactory.java
@@ -1,7 +1,7 @@
 /*
  * BeautiMacFileMenuFactory.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/BeautiMenuBarFactory.java b/src/dr/app/beauti/BeautiMenuBarFactory.java
index bf17471..154a121 100755
--- a/src/dr/app/beauti/BeautiMenuBarFactory.java
+++ b/src/dr/app/beauti/BeautiMenuBarFactory.java
@@ -1,7 +1,7 @@
 /*
  * BeautiMenuBarFactory.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/BeautiPanel.java b/src/dr/app/beauti/BeautiPanel.java
index c3024b3..3b8ac55 100644
--- a/src/dr/app/beauti/BeautiPanel.java
+++ b/src/dr/app/beauti/BeautiPanel.java
@@ -1,3 +1,28 @@
+/*
+ * BeautiPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti;
 
 import jam.framework.Exportable;
diff --git a/src/dr/app/beauti/ComboBoxRenderer.java b/src/dr/app/beauti/ComboBoxRenderer.java
index fac766a..f18c660 100644
--- a/src/dr/app/beauti/ComboBoxRenderer.java
+++ b/src/dr/app/beauti/ComboBoxRenderer.java
@@ -1,3 +1,28 @@
+/*
+ * ComboBoxRenderer.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti;
 
 import javax.swing.*;
diff --git a/src/dr/app/beauti/alignmentviewer/AlignmentBuffer.java b/src/dr/app/beauti/alignmentviewer/AlignmentBuffer.java
index afe4bcb..efcb5ae 100755
--- a/src/dr/app/beauti/alignmentviewer/AlignmentBuffer.java
+++ b/src/dr/app/beauti/alignmentviewer/AlignmentBuffer.java
@@ -1,3 +1,28 @@
+/*
+ * AlignmentBuffer.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 /**
diff --git a/src/dr/app/beauti/alignmentviewer/AlignmentBufferListener.java b/src/dr/app/beauti/alignmentviewer/AlignmentBufferListener.java
index 065cd7e..05d7fcf 100755
--- a/src/dr/app/beauti/alignmentviewer/AlignmentBufferListener.java
+++ b/src/dr/app/beauti/alignmentviewer/AlignmentBufferListener.java
@@ -1,3 +1,28 @@
+/*
+ * AlignmentBufferListener.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 /**
diff --git a/src/dr/app/beauti/alignmentviewer/AlignmentPane.java b/src/dr/app/beauti/alignmentviewer/AlignmentPane.java
index d93aac3..337570f 100755
--- a/src/dr/app/beauti/alignmentviewer/AlignmentPane.java
+++ b/src/dr/app/beauti/alignmentviewer/AlignmentPane.java
@@ -1,3 +1,28 @@
+/*
+ * AlignmentPane.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 import javax.swing.*;
diff --git a/src/dr/app/beauti/alignmentviewer/AlignmentViewer.java b/src/dr/app/beauti/alignmentviewer/AlignmentViewer.java
index ee3092c..36ab905 100755
--- a/src/dr/app/beauti/alignmentviewer/AlignmentViewer.java
+++ b/src/dr/app/beauti/alignmentviewer/AlignmentViewer.java
@@ -1,3 +1,28 @@
+/*
+ * AlignmentViewer.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 import javax.swing.*;
diff --git a/src/dr/app/beauti/alignmentviewer/AminoAcidDecorator.java b/src/dr/app/beauti/alignmentviewer/AminoAcidDecorator.java
index c1c2d4c..f1f1cde 100755
--- a/src/dr/app/beauti/alignmentviewer/AminoAcidDecorator.java
+++ b/src/dr/app/beauti/alignmentviewer/AminoAcidDecorator.java
@@ -1,3 +1,28 @@
+/*
+ * AminoAcidDecorator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 import jebl.evolution.sequences.AminoAcids;
diff --git a/src/dr/app/beauti/alignmentviewer/CellDecorator.java b/src/dr/app/beauti/alignmentviewer/CellDecorator.java
index 678da03..5718571 100755
--- a/src/dr/app/beauti/alignmentviewer/CellDecorator.java
+++ b/src/dr/app/beauti/alignmentviewer/CellDecorator.java
@@ -1,3 +1,28 @@
+/*
+ * CellDecorator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 import java.awt.*;
diff --git a/src/dr/app/beauti/alignmentviewer/ChemicalAminoAcidDecorator.java b/src/dr/app/beauti/alignmentviewer/ChemicalAminoAcidDecorator.java
index 075b033..b9509f9 100755
--- a/src/dr/app/beauti/alignmentviewer/ChemicalAminoAcidDecorator.java
+++ b/src/dr/app/beauti/alignmentviewer/ChemicalAminoAcidDecorator.java
@@ -1,3 +1,28 @@
+/*
+ * ChemicalAminoAcidDecorator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 import jebl.evolution.sequences.AminoAcids;
diff --git a/src/dr/app/beauti/alignmentviewer/ColumnDecorator.java b/src/dr/app/beauti/alignmentviewer/ColumnDecorator.java
index 22f9270..7688615 100755
--- a/src/dr/app/beauti/alignmentviewer/ColumnDecorator.java
+++ b/src/dr/app/beauti/alignmentviewer/ColumnDecorator.java
@@ -1,3 +1,28 @@
+/*
+ * ColumnDecorator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 import java.awt.*;
diff --git a/src/dr/app/beauti/alignmentviewer/HydropathyAminoAcidDecorator.java b/src/dr/app/beauti/alignmentviewer/HydropathyAminoAcidDecorator.java
index 699ebdf..66fb9cc 100755
--- a/src/dr/app/beauti/alignmentviewer/HydropathyAminoAcidDecorator.java
+++ b/src/dr/app/beauti/alignmentviewer/HydropathyAminoAcidDecorator.java
@@ -1,3 +1,28 @@
+/*
+ * HydropathyAminoAcidDecorator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 import jebl.evolution.sequences.AminoAcids;
diff --git a/src/dr/app/beauti/alignmentviewer/NucleotideDecorator.java b/src/dr/app/beauti/alignmentviewer/NucleotideDecorator.java
index 124c4b7..7ff2cf6 100755
--- a/src/dr/app/beauti/alignmentviewer/NucleotideDecorator.java
+++ b/src/dr/app/beauti/alignmentviewer/NucleotideDecorator.java
@@ -1,3 +1,28 @@
+/*
+ * NucleotideDecorator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 import jebl.evolution.sequences.Nucleotides;
diff --git a/src/dr/app/beauti/alignmentviewer/PlotPane.java b/src/dr/app/beauti/alignmentviewer/PlotPane.java
index d3858eb..c58d1cb 100644
--- a/src/dr/app/beauti/alignmentviewer/PlotPane.java
+++ b/src/dr/app/beauti/alignmentviewer/PlotPane.java
@@ -1,3 +1,28 @@
+/*
+ * PlotPane.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 import javax.swing.*;
diff --git a/src/dr/app/beauti/alignmentviewer/RowDecorator.java b/src/dr/app/beauti/alignmentviewer/RowDecorator.java
index 7a576fa..7d58332 100755
--- a/src/dr/app/beauti/alignmentviewer/RowDecorator.java
+++ b/src/dr/app/beauti/alignmentviewer/RowDecorator.java
@@ -1,3 +1,28 @@
+/*
+ * RowDecorator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 import java.awt.*;
diff --git a/src/dr/app/beauti/alignmentviewer/RulerPane.java b/src/dr/app/beauti/alignmentviewer/RulerPane.java
index 38b00aa..07b5f68 100755
--- a/src/dr/app/beauti/alignmentviewer/RulerPane.java
+++ b/src/dr/app/beauti/alignmentviewer/RulerPane.java
@@ -1,3 +1,28 @@
+/*
+ * RulerPane.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 import javax.swing.*;
diff --git a/src/dr/app/beauti/alignmentviewer/StateCellDecorator.java b/src/dr/app/beauti/alignmentviewer/StateCellDecorator.java
index a911ef6..288e60d 100755
--- a/src/dr/app/beauti/alignmentviewer/StateCellDecorator.java
+++ b/src/dr/app/beauti/alignmentviewer/StateCellDecorator.java
@@ -1,3 +1,28 @@
+/*
+ * StateCellDecorator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 import java.awt.*;
diff --git a/src/dr/app/beauti/alignmentviewer/StateDecorator.java b/src/dr/app/beauti/alignmentviewer/StateDecorator.java
index 2a8e763..6e67341 100755
--- a/src/dr/app/beauti/alignmentviewer/StateDecorator.java
+++ b/src/dr/app/beauti/alignmentviewer/StateDecorator.java
@@ -1,3 +1,28 @@
+/*
+ * StateDecorator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 import java.awt.*;
diff --git a/src/dr/app/beauti/alignmentviewer/TaxonPane.java b/src/dr/app/beauti/alignmentviewer/TaxonPane.java
index 033da45..156d98c 100755
--- a/src/dr/app/beauti/alignmentviewer/TaxonPane.java
+++ b/src/dr/app/beauti/alignmentviewer/TaxonPane.java
@@ -1,3 +1,28 @@
+/*
+ * TaxonPane.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 import javax.swing.*;
diff --git a/src/dr/app/beauti/alignmentviewer/VolumeAminoAcidDecorator.java b/src/dr/app/beauti/alignmentviewer/VolumeAminoAcidDecorator.java
index b6f45f1..f1347d7 100755
--- a/src/dr/app/beauti/alignmentviewer/VolumeAminoAcidDecorator.java
+++ b/src/dr/app/beauti/alignmentviewer/VolumeAminoAcidDecorator.java
@@ -1,3 +1,28 @@
+/*
+ * VolumeAminoAcidDecorator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.alignmentviewer;
 
 import jebl.evolution.sequences.AminoAcids;
diff --git a/src/dr/app/beauti/ancestralStatesPanel/AncestralStatesOptionsPanel.java b/src/dr/app/beauti/ancestralStatesPanel/AncestralStatesOptionsPanel.java
index 44ebf3b..6af351d 100644
--- a/src/dr/app/beauti/ancestralStatesPanel/AncestralStatesOptionsPanel.java
+++ b/src/dr/app/beauti/ancestralStatesPanel/AncestralStatesOptionsPanel.java
@@ -1,7 +1,7 @@
 /*
- * PartitionModelPanel.java
+ * AncestralStatesOptionsPanel.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/ancestralStatesPanel/AncestralStatesPanel.java b/src/dr/app/beauti/ancestralStatesPanel/AncestralStatesPanel.java
index b605686..ec37120 100644
--- a/src/dr/app/beauti/ancestralStatesPanel/AncestralStatesPanel.java
+++ b/src/dr/app/beauti/ancestralStatesPanel/AncestralStatesPanel.java
@@ -1,7 +1,7 @@
 /*
- * ModelsPanel.java
+ * AncestralStatesPanel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/clockModelsPanel/ClockModelsPanel.java b/src/dr/app/beauti/clockModelsPanel/ClockModelsPanel.java
index 22489c9..ea3e15f 100644
--- a/src/dr/app/beauti/clockModelsPanel/ClockModelsPanel.java
+++ b/src/dr/app/beauti/clockModelsPanel/ClockModelsPanel.java
@@ -1,7 +1,7 @@
 /*
- * ModelsPanel.java
+ * ClockModelsPanel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/clockModelsPanel/OldClockModelsPanel.java b/src/dr/app/beauti/clockModelsPanel/OldClockModelsPanel.java
index 70bc86e..36d9f5e 100644
--- a/src/dr/app/beauti/clockModelsPanel/OldClockModelsPanel.java
+++ b/src/dr/app/beauti/clockModelsPanel/OldClockModelsPanel.java
@@ -1,7 +1,7 @@
 /*
- * ClockModelPanel.java
+ * OldClockModelsPanel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/clockModelsPanel/PartitionClockModelPanel.java b/src/dr/app/beauti/clockModelsPanel/PartitionClockModelPanel.java
index 85298f1..fe65f52 100644
--- a/src/dr/app/beauti/clockModelsPanel/PartitionClockModelPanel.java
+++ b/src/dr/app/beauti/clockModelsPanel/PartitionClockModelPanel.java
@@ -1,7 +1,7 @@
 /*
- * PartitionModelPanel.java
+ * PartitionClockModelPanel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/components/ComponentFactory.java b/src/dr/app/beauti/components/ComponentFactory.java
index d8820dc..e045e32 100644
--- a/src/dr/app/beauti/components/ComponentFactory.java
+++ b/src/dr/app/beauti/components/ComponentFactory.java
@@ -1,3 +1,28 @@
+/*
+ * ComponentFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components;
 
 import dr.app.beauti.generator.ComponentGenerator;
diff --git a/src/dr/app/beauti/components/ancestralstates/AncestralStatesComponentFactory.java b/src/dr/app/beauti/components/ancestralstates/AncestralStatesComponentFactory.java
index ee197b6..0369f3d 100644
--- a/src/dr/app/beauti/components/ancestralstates/AncestralStatesComponentFactory.java
+++ b/src/dr/app/beauti/components/ancestralstates/AncestralStatesComponentFactory.java
@@ -1,3 +1,28 @@
+/*
+ * AncestralStatesComponentFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.ancestralstates;
 
 import dr.app.beauti.components.ComponentFactory;
diff --git a/src/dr/app/beauti/components/ancestralstates/AncestralStatesComponentGenerator.java b/src/dr/app/beauti/components/ancestralstates/AncestralStatesComponentGenerator.java
index 765a2c6..263190e 100644
--- a/src/dr/app/beauti/components/ancestralstates/AncestralStatesComponentGenerator.java
+++ b/src/dr/app/beauti/components/ancestralstates/AncestralStatesComponentGenerator.java
@@ -1,7 +1,7 @@
 /*
  * AncestralStatesComponentGenerator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/components/ancestralstates/AncestralStatesComponentOptions.java b/src/dr/app/beauti/components/ancestralstates/AncestralStatesComponentOptions.java
index 59af978..31fbe5c 100644
--- a/src/dr/app/beauti/components/ancestralstates/AncestralStatesComponentOptions.java
+++ b/src/dr/app/beauti/components/ancestralstates/AncestralStatesComponentOptions.java
@@ -1,3 +1,28 @@
+/*
+ * AncestralStatesComponentOptions.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.ancestralstates;
 
 import dr.app.beauti.options.*;
diff --git a/src/dr/app/beauti/components/continuous/ContinuousComponentFactory.java b/src/dr/app/beauti/components/continuous/ContinuousComponentFactory.java
index 36fc99d..b080b1c 100644
--- a/src/dr/app/beauti/components/continuous/ContinuousComponentFactory.java
+++ b/src/dr/app/beauti/components/continuous/ContinuousComponentFactory.java
@@ -1,3 +1,28 @@
+/*
+ * ContinuousComponentFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.continuous;
 
 import dr.app.beauti.components.ComponentFactory;
diff --git a/src/dr/app/beauti/components/continuous/ContinuousComponentGenerator.java b/src/dr/app/beauti/components/continuous/ContinuousComponentGenerator.java
index e4da545..0ed3c4f 100644
--- a/src/dr/app/beauti/components/continuous/ContinuousComponentGenerator.java
+++ b/src/dr/app/beauti/components/continuous/ContinuousComponentGenerator.java
@@ -1,3 +1,28 @@
+/*
+ * ContinuousComponentGenerator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.continuous;
 
 import dr.app.beauti.generator.BaseComponentGenerator;
diff --git a/src/dr/app/beauti/components/continuous/ContinuousComponentOptions.java b/src/dr/app/beauti/components/continuous/ContinuousComponentOptions.java
index 73f888d..859c276 100644
--- a/src/dr/app/beauti/components/continuous/ContinuousComponentOptions.java
+++ b/src/dr/app/beauti/components/continuous/ContinuousComponentOptions.java
@@ -1,3 +1,28 @@
+/*
+ * ContinuousComponentOptions.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.continuous;
 
 import dr.app.beauti.options.*;
diff --git a/src/dr/app/beauti/components/continuous/ContinuousSubstModelType.java b/src/dr/app/beauti/components/continuous/ContinuousSubstModelType.java
index 89c624f..25d6214 100644
--- a/src/dr/app/beauti/components/continuous/ContinuousSubstModelType.java
+++ b/src/dr/app/beauti/components/continuous/ContinuousSubstModelType.java
@@ -1,3 +1,28 @@
+/*
+ * ContinuousSubstModelType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.continuous;
 
 /**
diff --git a/src/dr/app/beauti/components/discrete/DiscreteSubstModelType.java b/src/dr/app/beauti/components/discrete/DiscreteSubstModelType.java
index 969f988..fb1579f 100644
--- a/src/dr/app/beauti/components/discrete/DiscreteSubstModelType.java
+++ b/src/dr/app/beauti/components/discrete/DiscreteSubstModelType.java
@@ -1,3 +1,28 @@
+/*
+ * DiscreteSubstModelType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.discrete;
 
 /**
diff --git a/src/dr/app/beauti/components/discrete/DiscreteTraitsComponentFactory.java b/src/dr/app/beauti/components/discrete/DiscreteTraitsComponentFactory.java
index 81db78d..c3ae4b7 100644
--- a/src/dr/app/beauti/components/discrete/DiscreteTraitsComponentFactory.java
+++ b/src/dr/app/beauti/components/discrete/DiscreteTraitsComponentFactory.java
@@ -1,3 +1,28 @@
+/*
+ * DiscreteTraitsComponentFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.discrete;
 
 import dr.app.beauti.components.ComponentFactory;
diff --git a/src/dr/app/beauti/components/discrete/DiscreteTraitsComponentGenerator.java b/src/dr/app/beauti/components/discrete/DiscreteTraitsComponentGenerator.java
index 8d27187..24ccce6 100644
--- a/src/dr/app/beauti/components/discrete/DiscreteTraitsComponentGenerator.java
+++ b/src/dr/app/beauti/components/discrete/DiscreteTraitsComponentGenerator.java
@@ -1,7 +1,7 @@
 /*
  * DiscreteTraitsComponentGenerator.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/components/discrete/DiscreteTraitsComponentOptions.java b/src/dr/app/beauti/components/discrete/DiscreteTraitsComponentOptions.java
index 8671d70..7feb7b7 100644
--- a/src/dr/app/beauti/components/discrete/DiscreteTraitsComponentOptions.java
+++ b/src/dr/app/beauti/components/discrete/DiscreteTraitsComponentOptions.java
@@ -1,7 +1,7 @@
 /*
  * DiscreteTraitsComponentOptions.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/components/dollo/DolloComponentFactory.java b/src/dr/app/beauti/components/dollo/DolloComponentFactory.java
index 897287f..15116b0 100644
--- a/src/dr/app/beauti/components/dollo/DolloComponentFactory.java
+++ b/src/dr/app/beauti/components/dollo/DolloComponentFactory.java
@@ -1,3 +1,28 @@
+/*
+ * DolloComponentFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.dollo;
 
 import dr.app.beauti.components.ComponentFactory;
diff --git a/src/dr/app/beauti/components/dollo/DolloComponentGenerator.java b/src/dr/app/beauti/components/dollo/DolloComponentGenerator.java
index a2e356d..d67f9d0 100644
--- a/src/dr/app/beauti/components/dollo/DolloComponentGenerator.java
+++ b/src/dr/app/beauti/components/dollo/DolloComponentGenerator.java
@@ -1,7 +1,7 @@
 /*
  * DolloComponentGenerator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/components/dollo/DolloComponentOptions.java b/src/dr/app/beauti/components/dollo/DolloComponentOptions.java
index 69189d4..4bccaba 100644
--- a/src/dr/app/beauti/components/dollo/DolloComponentOptions.java
+++ b/src/dr/app/beauti/components/dollo/DolloComponentOptions.java
@@ -1,7 +1,7 @@
 /*
  * DolloComponentOptions.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/components/hpm/HierarchicalModelComponentFactory.java b/src/dr/app/beauti/components/hpm/HierarchicalModelComponentFactory.java
index 427cd9f..0f3a255 100644
--- a/src/dr/app/beauti/components/hpm/HierarchicalModelComponentFactory.java
+++ b/src/dr/app/beauti/components/hpm/HierarchicalModelComponentFactory.java
@@ -1,3 +1,28 @@
+/*
+ * HierarchicalModelComponentFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.hpm;
 
 import dr.app.beauti.components.ComponentFactory;
diff --git a/src/dr/app/beauti/components/hpm/HierarchicalModelComponentGenerator.java b/src/dr/app/beauti/components/hpm/HierarchicalModelComponentGenerator.java
index 61e91c9..45c2afb 100644
--- a/src/dr/app/beauti/components/hpm/HierarchicalModelComponentGenerator.java
+++ b/src/dr/app/beauti/components/hpm/HierarchicalModelComponentGenerator.java
@@ -1,3 +1,28 @@
+/*
+ * HierarchicalModelComponentGenerator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.hpm;
 
 import dr.app.beauti.generator.BaseComponentGenerator;
diff --git a/src/dr/app/beauti/components/hpm/HierarchicalModelComponentOptions.java b/src/dr/app/beauti/components/hpm/HierarchicalModelComponentOptions.java
index 80b9565..e02273d 100644
--- a/src/dr/app/beauti/components/hpm/HierarchicalModelComponentOptions.java
+++ b/src/dr/app/beauti/components/hpm/HierarchicalModelComponentOptions.java
@@ -1,3 +1,28 @@
+/*
+ * HierarchicalModelComponentOptions.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.hpm;
 
 import dr.app.beauti.options.*;
diff --git a/src/dr/app/beauti/components/hpm/HierarchicalPhylogeneticModel.java b/src/dr/app/beauti/components/hpm/HierarchicalPhylogeneticModel.java
index 9181c0f..e8fb6e7 100644
--- a/src/dr/app/beauti/components/hpm/HierarchicalPhylogeneticModel.java
+++ b/src/dr/app/beauti/components/hpm/HierarchicalPhylogeneticModel.java
@@ -1,3 +1,28 @@
+/*
+ * HierarchicalPhylogeneticModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.hpm;
 
 import dr.app.beauti.options.Parameter;
diff --git a/src/dr/app/beauti/components/linkedparameters/LinkedParameter.java b/src/dr/app/beauti/components/linkedparameters/LinkedParameter.java
index 4ec1435..b799174 100644
--- a/src/dr/app/beauti/components/linkedparameters/LinkedParameter.java
+++ b/src/dr/app/beauti/components/linkedparameters/LinkedParameter.java
@@ -1,3 +1,28 @@
+/*
+ * LinkedParameter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.linkedparameters;
 
 import dr.app.beauti.options.Operator;
diff --git a/src/dr/app/beauti/components/linkedparameters/LinkedParameterComponentFactory.java b/src/dr/app/beauti/components/linkedparameters/LinkedParameterComponentFactory.java
index 3916591..fe90be2 100644
--- a/src/dr/app/beauti/components/linkedparameters/LinkedParameterComponentFactory.java
+++ b/src/dr/app/beauti/components/linkedparameters/LinkedParameterComponentFactory.java
@@ -1,3 +1,28 @@
+/*
+ * LinkedParameterComponentFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.linkedparameters;
 
 import dr.app.beauti.components.ComponentFactory;
diff --git a/src/dr/app/beauti/components/linkedparameters/LinkedParameterComponentGenerator.java b/src/dr/app/beauti/components/linkedparameters/LinkedParameterComponentGenerator.java
index 3a9c138..15c1128 100644
--- a/src/dr/app/beauti/components/linkedparameters/LinkedParameterComponentGenerator.java
+++ b/src/dr/app/beauti/components/linkedparameters/LinkedParameterComponentGenerator.java
@@ -1,3 +1,28 @@
+/*
+ * LinkedParameterComponentGenerator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.linkedparameters;
 
 import dr.app.beauti.generator.BaseComponentGenerator;
diff --git a/src/dr/app/beauti/components/linkedparameters/LinkedParameterComponentOptions.java b/src/dr/app/beauti/components/linkedparameters/LinkedParameterComponentOptions.java
index a4d8ba2..eca8898 100644
--- a/src/dr/app/beauti/components/linkedparameters/LinkedParameterComponentOptions.java
+++ b/src/dr/app/beauti/components/linkedparameters/LinkedParameterComponentOptions.java
@@ -1,3 +1,28 @@
+/*
+ * LinkedParameterComponentOptions.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.linkedparameters;
 
 import dr.app.beauti.options.*;
diff --git a/src/dr/app/beauti/components/marginalLikelihoodEstimation/MLEDialog.java b/src/dr/app/beauti/components/marginalLikelihoodEstimation/MLEDialog.java
index f32d043..c470ed4 100644
--- a/src/dr/app/beauti/components/marginalLikelihoodEstimation/MLEDialog.java
+++ b/src/dr/app/beauti/components/marginalLikelihoodEstimation/MLEDialog.java
@@ -1,17 +1,38 @@
+/*
+ * MLEDialog.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.marginalLikelihoodEstimation;
 
+import dr.app.beauti.util.PanelUtils;
+import dr.app.gui.components.WholeNumberField;
 import jam.panels.OptionsPanel;
 
-import javax.swing.JComboBox;
-import javax.swing.JDialog;
-import javax.swing.JFrame;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JTextArea;
+import javax.swing.*;
 import javax.swing.border.EmptyBorder;
-
-import dr.app.beauti.util.PanelUtils;
-import dr.app.gui.components.WholeNumberField;
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
 
 
 /**
@@ -29,13 +50,15 @@ public class MLEDialog {
     private WholeNumberField chainLengthField = new WholeNumberField(1, Integer.MAX_VALUE);
     private WholeNumberField logEveryField = new WholeNumberField(1, Integer.MAX_VALUE);
 
-    private JTextArea logFileNameField = new JTextArea("MLE.log");
+    private JTextArea logFileNameField = new JTextArea("mle.log");
+
+    JCheckBox operatorAnalysis = new JCheckBox("Print operator analysis");
 
     private JComboBox stepDistribution = new JComboBox();
 
     private MarginalLikelihoodEstimationOptions options;
 
-    private String description = "Settings for marginal likelihood estimation";
+    private String description = "Settings for marginal likelihood estimation using PS/SS";
 
     public MLEDialog(final JFrame frame, final MarginalLikelihoodEstimationOptions options) {
         this.frame = frame;
@@ -45,17 +68,17 @@ public class MLEDialog {
 
         optionsPanel.setOpaque(false);
 
-        JTextArea mleInfo = new JTextArea("Set the options to perform marginal likelihoood " +
+        JTextArea mleInfo = new JTextArea("Set the options to perform marginal likelihood " +
                 "estimation (MLE) using path sampling (PS) / stepping-stone sampling (SS).");
         mleInfo.setColumns(56);
         PanelUtils.setupComponent(mleInfo);
         optionsPanel.addSpanningComponent(mleInfo);
 
-        pathStepsField.setValue(100);
+        pathStepsField.setValue(options.pathSteps);
         pathStepsField.setColumns(16);
         pathStepsField.setMinimumSize(pathStepsField.getPreferredSize());
         labelPathSteps = optionsPanel.addComponentWithLabel("Number of path steps:", pathStepsField);
-        /*pathStepsField.addKeyListener(new java.awt.event.KeyListener() {
+        pathStepsField.addKeyListener(new java.awt.event.KeyListener() {
             public void keyTyped(KeyEvent e) {
             }
 
@@ -63,15 +86,15 @@ public class MLEDialog {
             }
 
             public void keyReleased(KeyEvent e) {
-                //options.pathSteps = pathStepsField.getValue();
+                options.pathSteps = pathStepsField.getValue();
             }
-        });*/
+        });
 
-        chainLengthField.setValue(1000000);
+        chainLengthField.setValue(options.mleChainLength);
         chainLengthField.setColumns(16);
         chainLengthField.setMinimumSize(chainLengthField.getPreferredSize());
         labelChainLength = optionsPanel.addComponentWithLabel("Length of chains:", chainLengthField);
-        /*chainLengthField.addKeyListener(new java.awt.event.KeyListener() {
+        chainLengthField.addKeyListener(new java.awt.event.KeyListener() {
             public void keyTyped(KeyEvent e) {
             }
 
@@ -79,17 +102,17 @@ public class MLEDialog {
             }
 
             public void keyReleased(KeyEvent e) {
-                //options.mleChainLength = chainLengthField.getValue();
+                options.mleChainLength = chainLengthField.getValue();
             }
-        });*/
+        });
 
         optionsPanel.addSeparator();
 
-        logEveryField.setValue(1000);
+        logEveryField.setValue(options.mleLogEvery);
         logEveryField.setColumns(16);
         logEveryField.setMinimumSize(logEveryField.getPreferredSize());
         labelLogEvery = optionsPanel.addComponentWithLabel("Log likelihood every:", logEveryField);
-        /*logEveryField.addKeyListener(new java.awt.event.KeyListener() {
+        logEveryField.addKeyListener(new java.awt.event.KeyListener() {
             public void keyTyped(KeyEvent e) {
             }
 
@@ -97,9 +120,9 @@ public class MLEDialog {
             }
 
             public void keyReleased(KeyEvent e) {
-                //options.mleLogEvery = logEveryField.getValue();
+                options.mleLogEvery = logEveryField.getValue();
             }
-        });*/
+        });
 
         optionsPanel.addSeparator();
 
@@ -107,7 +130,7 @@ public class MLEDialog {
         logFileNameField.setEditable(false);
         logFileNameField.setMinimumSize(logFileNameField.getPreferredSize());
         labelLogFileName = optionsPanel.addComponentWithLabel("Log file name:", logFileNameField);
-        /*logFileNameField.addKeyListener(new java.awt.event.KeyListener() {
+        logFileNameField.addKeyListener(new java.awt.event.KeyListener() {
             public void keyTyped(KeyEvent e) {
             }
 
@@ -115,9 +138,9 @@ public class MLEDialog {
             }
 
             public void keyReleased(KeyEvent e) {
-                //options.mleFileName = logFileNameField.getText();
+                options.mleFileName = logFileNameField.getText();
             }
-        });*/
+        });
 
         optionsPanel.addSeparator();
 
@@ -133,15 +156,30 @@ public class MLEDialog {
 
         optionsPanel.addSeparator();
 
+        operatorAnalysis.setSelected(options.printOperatorAnalysis);
+        optionsPanel.addComponent(operatorAnalysis);
+
+        operatorAnalysis.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                if (operatorAnalysis.isSelected()) {
+                    options.printOperatorAnalysis = true;
+                } else {
+                    options.printOperatorAnalysis = false;
+                }
+            }
+        });
+
+        optionsPanel.addSeparator();
+
         JTextArea mleTutorial = new JTextArea("Additional information on marginal likelihood estimation in BEAST " +
-                "can be found on http://beast.bio.ed.ac.uk/Model_selection");
+                "can be found on http://beast.bio.ed.ac.uk/Model-selection");
         mleTutorial.setColumns(56);
         PanelUtils.setupComponent(mleTutorial);
         optionsPanel.addSpanningComponent(mleTutorial);
-        
-        JTextArea citationText = new JTextArea("Baele G, Lemey P, Bedford T, Rambaut A, Suchard MA, Alekseyenko AV (2012)\n" + 
-                "Mol Biol Evol 29(9), 2157-2167 [Advantages of PS/SS].\n" + 
-                "Baele G, Li WLS, Drummond AJ, Suchard MA, Lemey P (2013)\nMol Biol Evol 30(2), 239-243 " + 
+
+        JTextArea citationText = new JTextArea("Baele G, Lemey P, Bedford T, Rambaut A, Suchard MA, Alekseyenko AV (2012)\n" +
+                "Mol Biol Evol 29(9), 2157-2167 [Advantages of PS/SS].\n" +
+                "Baele G, Li WLS, Drummond AJ, Suchard MA, Lemey P (2013)\nMol Biol Evol 30(2), 239-243 " +
                 "[Importance of using proper priors].");
         citationText.setColumns(45);
         optionsPanel.addComponentWithLabel("Citation:", citationText);
@@ -191,10 +229,16 @@ public class MLEDialog {
 
     public void setFilenameStem(String fileNameStem, boolean addTxt) {
         logFileNameField.setText(fileNameStem + ".mle.log" + (addTxt ? ".txt" : ""));
+        options.mleFileName = logFileNameField.getText();
     }
 
     public void setOptions(MarginalLikelihoodEstimationOptions options) {
-        this.options = options;
+        //this.options = options;
+
+        /*System.err.println("setOptions: " + options);
+        System.err.println("options.pathSteps: " + options.pathSteps);
+        System.err.println("options.mleChainLength: " + options.mleChainLength);
+        System.err.println("options.mleLogEvery: " + options.mleLogEvery);*/
 
         pathStepsField.setValue(options.pathSteps);
         chainLengthField.setValue(options.mleChainLength);
@@ -202,16 +246,28 @@ public class MLEDialog {
 
         logFileNameField.setText(options.mleFileName);
 
+        operatorAnalysis.setSelected(options.printOperatorAnalysis);
+
         optionsPanel.validate();
         optionsPanel.repaint();
     }
 
     public void getOptions(MarginalLikelihoodEstimationOptions options) {
+        //this.options = options;
+
         options.pathSteps = pathStepsField.getValue();
         options.mleChainLength = chainLengthField.getValue();
         options.mleLogEvery = logEveryField.getValue();
 
+        options.printOperatorAnalysis = operatorAnalysis.isSelected();
+
         options.mleFileName = logFileNameField.getText();
+
+        /*System.err.println("getOptions: " + options);
+        System.err.println("options.pathSteps: " + options.pathSteps);
+        System.err.println("options.mleChainLength: " + options.mleChainLength);
+        System.err.println("options.mleLogEvery: " + options.mleLogEvery);*/
+
     }
 
 }
diff --git a/src/dr/app/beauti/components/marginalLikelihoodEstimation/MLEGSSDialog.java b/src/dr/app/beauti/components/marginalLikelihoodEstimation/MLEGSSDialog.java
new file mode 100644
index 0000000..4a38a9e
--- /dev/null
+++ b/src/dr/app/beauti/components/marginalLikelihoodEstimation/MLEGSSDialog.java
@@ -0,0 +1,304 @@
+/*
+ * MLEGSSDialog.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.app.beauti.components.marginalLikelihoodEstimation;
+
+import dr.app.beauti.options.BeautiOptions;
+import dr.app.beauti.types.TreePriorType;
+import dr.app.beauti.util.PanelUtils;
+import dr.app.gui.components.WholeNumberField;
+import jam.panels.OptionsPanel;
+
+import javax.swing.*;
+import javax.swing.border.EmptyBorder;
+import java.awt.event.ActionEvent;
+
+
+/**
+ * @author Guy Baele
+ */
+public class MLEGSSDialog {
+
+    private JFrame frame;
+
+    private final OptionsPanel optionsPanel;
+
+    private JLabel labelPathSteps, labelChainLength, labelLogEvery, labelLogFileName;
+    private JLabel labelStepDistribution, labelTreeWorkingPrior, labelParameterWorkingPrior;
+
+    private WholeNumberField pathStepsField = new WholeNumberField(1, Integer.MAX_VALUE);
+    private WholeNumberField chainLengthField = new WholeNumberField(1, Integer.MAX_VALUE);
+    private WholeNumberField logEveryField = new WholeNumberField(1, Integer.MAX_VALUE);
+
+    private JTextArea logFileNameField = new JTextArea("MLE.log");
+
+    JCheckBox operatorAnalysis = new JCheckBox("Print operator analysis");
+
+    private JComboBox stepDistribution = new JComboBox();
+    private JComboBox treeWorkingPrior = new JComboBox();
+    //private JComboBox parameterWorkingPrior = new JComboBox();
+
+    private MarginalLikelihoodEstimationOptions options;
+    private BeautiOptions beautiOptions;
+
+    private String description = "Settings for marginal likelihood estimation using GSS";
+
+    public MLEGSSDialog(final JFrame frame, final MarginalLikelihoodEstimationOptions options, final BeautiOptions beautiOptions) {
+        this.frame = frame;
+        this.options = options;
+        this.beautiOptions = beautiOptions;
+
+        optionsPanel = new OptionsPanel(12, 12);
+
+        optionsPanel.setOpaque(false);
+
+        JTextArea mleInfo = new JTextArea("Set the options to perform marginal likelihood " +
+                "estimation (MLE) using generalized stepping-stone sampling (GSS).");
+        mleInfo.setColumns(56);
+        PanelUtils.setupComponent(mleInfo);
+        optionsPanel.addSpanningComponent(mleInfo);
+
+        pathStepsField.setValue(100);
+        pathStepsField.setColumns(16);
+        pathStepsField.setMinimumSize(pathStepsField.getPreferredSize());
+        labelPathSteps = optionsPanel.addComponentWithLabel("Number of stepping stones:", pathStepsField);
+        /*pathStepsField.addKeyListener(new java.awt.event.KeyListener() {
+            public void keyTyped(KeyEvent e) {
+            }
+
+            public void keyPressed(KeyEvent e) {
+            }
+
+            public void keyReleased(KeyEvent e) {
+                //options.pathSteps = pathStepsField.getValue();
+            }
+        });*/
+
+        chainLengthField.setValue(1000000);
+        chainLengthField.setColumns(16);
+        chainLengthField.setMinimumSize(chainLengthField.getPreferredSize());
+        labelChainLength = optionsPanel.addComponentWithLabel("Length of chains:", chainLengthField);
+        /*chainLengthField.addKeyListener(new java.awt.event.KeyListener() {
+            public void keyTyped(KeyEvent e) {
+            }
+
+            public void keyPressed(KeyEvent e) {
+            }
+
+            public void keyReleased(KeyEvent e) {
+                //options.mleChainLength = chainLengthField.getValue();
+            }
+        });*/
+
+        optionsPanel.addSeparator();
+
+        logEveryField.setValue(1000);
+        logEveryField.setColumns(16);
+        logEveryField.setMinimumSize(logEveryField.getPreferredSize());
+        labelLogEvery = optionsPanel.addComponentWithLabel("Log likelihood every:", logEveryField);
+        /*logEveryField.addKeyListener(new java.awt.event.KeyListener() {
+            public void keyTyped(KeyEvent e) {
+            }
+
+            public void keyPressed(KeyEvent e) {
+            }
+
+            public void keyReleased(KeyEvent e) {
+                //options.mleLogEvery = logEveryField.getValue();
+            }
+        });*/
+
+        optionsPanel.addSeparator();
+
+        logFileNameField.setColumns(32);
+        logFileNameField.setEditable(false);
+        logFileNameField.setMinimumSize(logFileNameField.getPreferredSize());
+        labelLogFileName = optionsPanel.addComponentWithLabel("Log file name:", logFileNameField);
+        /*logFileNameField.addKeyListener(new java.awt.event.KeyListener() {
+            public void keyTyped(KeyEvent e) {
+            }
+
+            public void keyPressed(KeyEvent e) {
+            }
+
+            public void keyReleased(KeyEvent e) {
+                //options.mleFileName = logFileNameField.getText();
+            }
+        });*/
+
+        optionsPanel.addSeparator();
+
+        JTextArea betaInfo = new JTextArea("By default, the power posteriors are determined according to " +
+                "evenly spaced quantiles of a Beta(0.3, 1.0) distribution, thereby estimating " +
+                "more power posteriors close to the prior.");
+        betaInfo.setColumns(56);
+        PanelUtils.setupComponent(betaInfo);
+        optionsPanel.addSpanningComponent(betaInfo);
+
+        treeWorkingPrior.addItem("Product of exponential distributions");
+        treeWorkingPrior.addItem("Matching coalescent model");
+        treeWorkingPrior.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                String selection = (String)((JComboBox)e.getSource()).getSelectedItem();
+                TreePriorType treePrior = beautiOptions.getPartitionTreePriors().get(0).getNodeHeightPrior();
+                boolean mcmAllowed = false;
+                if (treePrior.equals(TreePriorType.CONSTANT) || treePrior.equals(TreePriorType.EXPONENTIAL)
+                        || treePrior.equals(TreePriorType.EXPANSION) || treePrior.equals(TreePriorType.LOGISTIC)) {
+                    mcmAllowed = true;
+                }
+                if (selection.equals("Matching coalescent model") && !mcmAllowed) {
+                    JOptionPane.showMessageDialog(frame,
+                            "The selected coalescent model can't be equipped with a \n" +
+                                    "matching working prior. Reverting back to use a product \n" +
+                                    "of exponential distributions.",
+                            "Matching coalescent model warning",
+                            JOptionPane.WARNING_MESSAGE);
+                    treeWorkingPrior.setSelectedItem("Product of exponential distributions");
+                    options.choiceTreeWorkingPrior = "Product of exponential distributions";
+                } else {
+                    options.choiceTreeWorkingPrior = selection;
+                }
+            }
+        });
+        labelTreeWorkingPrior = optionsPanel.addComponentWithLabel("Tree working prior", treeWorkingPrior);
+
+        //parameterWorkingPrior.addItem("Normal KDE");
+        //parameterWorkingPrior.addItem("Gamma KDE");
+        //labelParameterWorkingPrior = optionsPanel.addComponentWithLabel("Parameter working prior", parameterWorkingPrior);
+
+        stepDistribution.addItem("Beta");
+        labelStepDistribution = optionsPanel.addComponentWithLabel("Stepping stone distribution:", stepDistribution);
+
+        optionsPanel.addSeparator();
+
+        optionsPanel.addComponent(operatorAnalysis);
+
+        operatorAnalysis.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                if (operatorAnalysis.isSelected()) {
+                    options.printOperatorAnalysis = true;
+                } else {
+                    options.printOperatorAnalysis = false;
+                }
+            }
+        });
+
+        optionsPanel.addSeparator();
+
+        JTextArea mleTutorial = new JTextArea("Additional information on marginal likelihood estimation in BEAST " +
+                "can be found on http://beast.bio.ed.ac.uk/Model-selection");
+        mleTutorial.setColumns(56);
+        PanelUtils.setupComponent(mleTutorial);
+        optionsPanel.addSpanningComponent(mleTutorial);
+
+        JTextArea citationText = new JTextArea("Baele G, Lemey P, Suchard MA (2015) Working priors for " +
+                "accurate model \nselection while accommodating phylogenetic uncertainty in a \ncoalescent-based " +
+                "framework [GSS Paper].");
+        citationText.setColumns(45);
+        optionsPanel.addComponentWithLabel("Citation:", citationText);
+
+        optionsPanel.addSeparator();
+        
+        /*JPanel panel = new JPanel(new FlowLayout(FlowLayout.CENTER));
+        panel.add(optionsPanel, BorderLayout.CENTER);
+        panel.setOpaque(false);
+        
+        JScrollPane scrollPane = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
+        scrollPane.setOpaque(false);
+        scrollPane.setBorder(null);
+        scrollPane.getViewport().setOpaque(false);
+
+        add(scrollPane, BorderLayout.CENTER);*/
+
+    }
+
+    public int showDialog() {
+
+        JOptionPane optionPane = new JOptionPane(optionsPanel,
+                JOptionPane.QUESTION_MESSAGE,
+                JOptionPane.OK_CANCEL_OPTION,
+                null,
+                null,
+                null);
+        optionPane.setBorder(new EmptyBorder(12, 12, 12, 12));
+
+        final JDialog dialog = optionPane.createDialog(frame, description);
+        dialog.pack();
+
+        dialog.setVisible(true);
+
+        int result = JOptionPane.CANCEL_OPTION;
+        Integer value = (Integer) optionPane.getValue();
+        if (value != null && value != -1) {
+            result = value;
+        }
+
+        return result;
+    }
+
+	/*public JComponent getExportableComponent() {
+		return optionsPanel;
+	}*/
+
+    public void setFilenameStem(String fileNameStem, boolean addTxt) {
+        logFileNameField.setText(fileNameStem + ".mle.log" + (addTxt ? ".txt" : ""));
+        options.mleFileName = logFileNameField.getText();
+    }
+
+    public void setOptions(MarginalLikelihoodEstimationOptions options) {
+        this.options = options;
+
+        pathStepsField.setValue(options.pathSteps);
+        chainLengthField.setValue(options.mleChainLength);
+        logEveryField.setValue(options.mleLogEvery);
+
+        logFileNameField.setText(options.mleFileName);
+
+        treeWorkingPrior.setSelectedItem(options.choiceTreeWorkingPrior);
+        if (options.choiceTreeWorkingPrior.equals("Product of exponential distributions") && options.performMLEGSS) {
+            beautiOptions.logCoalescentEventsStatistic = true;
+        } else {
+            beautiOptions.logCoalescentEventsStatistic = false;
+        }
+
+        optionsPanel.validate();
+        optionsPanel.repaint();
+    }
+
+    public void getOptions(MarginalLikelihoodEstimationOptions options) {
+        options.pathSteps = pathStepsField.getValue();
+        options.mleChainLength = chainLengthField.getValue();
+        options.mleLogEvery = logEveryField.getValue();
+
+        options.mleFileName = logFileNameField.getText();
+        options.choiceTreeWorkingPrior = treeWorkingPrior.getSelectedItem().toString();
+        if (options.choiceTreeWorkingPrior.equals("Product of exponential distributions") && options.performMLEGSS) {
+            beautiOptions.logCoalescentEventsStatistic = true;
+        } else {
+            beautiOptions.logCoalescentEventsStatistic = false;
+        }
+    }
+
+}
diff --git a/src/dr/app/beauti/components/marginalLikelihoodEstimation/MarginalLikelihoodEstimationComponentFactory.java b/src/dr/app/beauti/components/marginalLikelihoodEstimation/MarginalLikelihoodEstimationComponentFactory.java
index 2fb1445..5a7b738 100644
--- a/src/dr/app/beauti/components/marginalLikelihoodEstimation/MarginalLikelihoodEstimationComponentFactory.java
+++ b/src/dr/app/beauti/components/marginalLikelihoodEstimation/MarginalLikelihoodEstimationComponentFactory.java
@@ -1,7 +1,7 @@
 /*
  * MarginalLikelihoodEstimationComponentFactory.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -26,8 +26,6 @@
 package dr.app.beauti.components.marginalLikelihoodEstimation;
 
 import dr.app.beauti.components.ComponentFactory;
-import dr.app.beauti.components.sequenceerror.SequenceErrorModelComponentGenerator;
-import dr.app.beauti.components.sequenceerror.SequenceErrorModelComponentOptions;
 import dr.app.beauti.generator.ComponentGenerator;
 import dr.app.beauti.options.BeautiOptions;
 import dr.app.beauti.options.ComponentOptions;
diff --git a/src/dr/app/beauti/components/marginalLikelihoodEstimation/MarginalLikelihoodEstimationGenerator.java b/src/dr/app/beauti/components/marginalLikelihoodEstimation/MarginalLikelihoodEstimationGenerator.java
index 95db2a5..55cb072 100644
--- a/src/dr/app/beauti/components/marginalLikelihoodEstimation/MarginalLikelihoodEstimationGenerator.java
+++ b/src/dr/app/beauti/components/marginalLikelihoodEstimation/MarginalLikelihoodEstimationGenerator.java
@@ -1,7 +1,7 @@
 /*
  * MarginalLikelihoodEstimationGenerator.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -25,20 +25,23 @@
 
 package dr.app.beauti.components.marginalLikelihoodEstimation;
 
-import dr.app.beauti.components.sequenceerror.SequenceErrorModelComponentOptions;
 import dr.app.beauti.generator.BaseComponentGenerator;
-import dr.app.beauti.options.AbstractPartitionData;
-import dr.app.beauti.options.BeautiOptions;
-import dr.app.beauti.types.SequenceErrorType;
+import dr.app.beauti.options.*;
+import dr.app.beauti.types.*;
 import dr.app.beauti.util.XMLWriter;
-import dr.evolution.alignment.HypermutantAlignment;
-import dr.evomodel.treelikelihood.HypermutantErrorModel;
-import dr.evomodelxml.treelikelihood.SequenceErrorModelParser;
-import dr.evoxml.HypermutantAlignmentParser;
+import dr.evolution.datatype.DataType;
+import dr.evolution.util.Units;
+import dr.evomodel.tree.TreeModel;
+import dr.evomodelxml.TreeWorkingPriorParsers;
+import dr.evomodelxml.coalescent.*;
+import dr.inference.mcmc.MarginalLikelihoodEstimator;
 import dr.inference.model.ParameterParser;
-import dr.inference.model.StatisticParser;
+import dr.inference.model.PathLikelihood;
+import dr.inference.trace.GeneralizedSteppingStoneSamplingAnalysis;
+import dr.inference.trace.PathSamplingAnalysis;
+import dr.inference.trace.SteppingStoneSamplingAnalysis;
+import dr.inferencexml.distribution.WorkingPriorParsers;
 import dr.inferencexml.model.CompoundLikelihoodParser;
-import dr.inferencexml.model.SumStatisticParser;
 import dr.util.Attribute;
 import dr.xml.XMLParser;
 
@@ -47,19 +50,24 @@ import java.util.List;
 
 /**
  * @author Andrew Rambaut
+ * @author Guy Baele
  * @version $Id$
  */
 public class MarginalLikelihoodEstimationGenerator extends BaseComponentGenerator {
 
+    public static final boolean DEBUG = true;
+
+    private BeautiOptions beautiOptions = null;
+
     MarginalLikelihoodEstimationGenerator(final BeautiOptions options) {
         super(options);
+        this.beautiOptions = options;
     }
 
     public boolean usesInsertionPoint(final InsertionPoint point) {
         MarginalLikelihoodEstimationOptions component = (MarginalLikelihoodEstimationOptions) options.getComponentOptions(MarginalLikelihoodEstimationOptions.class);
 
-
-        if (!component.performMLE) {
+        if (!component.performMLE && !component.performMLEGSS) {
             return false;
         }
 
@@ -73,6 +81,11 @@ public class MarginalLikelihoodEstimationGenerator extends BaseComponentGenerato
     protected void generate(final InsertionPoint point, final Object item, final String prefix, final XMLWriter writer) {
         MarginalLikelihoodEstimationOptions component = (MarginalLikelihoodEstimationOptions) options.getComponentOptions(MarginalLikelihoodEstimationOptions.class);
 
+        /*System.err.println("generate component: " + component);
+        System.err.println("options.pathSteps: " + component.pathSteps);
+        System.err.println("options.mleChainLength: " + component.mleChainLength);
+        System.err.println("options.mleLogEvery: " + component.mleLogEvery);*/
+
         switch (point) {
             case AFTER_MCMC:
                 writeMLE(writer, component);
@@ -96,18 +109,21 @@ public class MarginalLikelihoodEstimationGenerator extends BaseComponentGenerato
 
         if (options.performMLE) {
 
-            writer.writeComment("Define marginal likelihood estimator settings");
+            writer.writeComment("Define marginal likelihood estimator (PS/SS) settings");
 
             List<Attribute> attributes = new ArrayList<Attribute>();
             //attributes.add(new Attribute.Default<String>(XMLParser.ID, "mcmc"));
-            attributes.add(new Attribute.Default<Integer>("chainLength", options.mleChainLength));
-            attributes.add(new Attribute.Default<Integer>("pathSteps", options.pathSteps));
-            attributes.add(new Attribute.Default<String>("pathScheme", options.pathScheme));
-            if (!options.pathScheme.equals("linear")) {
-                attributes.add(new Attribute.Default<Double>("alpha", options.schemeParameter));
+            attributes.add(new Attribute.Default<Integer>(MarginalLikelihoodEstimator.CHAIN_LENGTH, options.mleChainLength));
+            attributes.add(new Attribute.Default<Integer>(MarginalLikelihoodEstimator.PATH_STEPS, options.pathSteps));
+            attributes.add(new Attribute.Default<String>(MarginalLikelihoodEstimator.PATH_SCHEME, options.pathScheme));
+            if (!options.pathScheme.equals(MarginalLikelihoodEstimator.LINEAR)) {
+                attributes.add(new Attribute.Default<Double>(MarginalLikelihoodEstimator.ALPHA, options.schemeParameter));
+            }
+            if (options.printOperatorAnalysis) {
+                attributes.add(new Attribute.Default<Boolean>(MarginalLikelihoodEstimator.PRINT_OPERATOR_ANALYSIS, true));
             }
 
-            writer.writeOpenTag("marginalLikelihoodEstimator", attributes);
+            writer.writeOpenTag(MarginalLikelihoodEstimator.MARGINAL_LIKELIHOOD_ESTIMATOR, attributes);
 
             writer.writeOpenTag("samplers");
             writer.writeIDref("mcmc", "mcmc");
@@ -115,14 +131,14 @@ public class MarginalLikelihoodEstimationGenerator extends BaseComponentGenerato
 
             attributes = new ArrayList<Attribute>();
             attributes.add(new Attribute.Default<String>(XMLParser.ID, "pathLikelihood"));
-            writer.writeOpenTag("pathLikelihood", attributes);
-            writer.writeOpenTag("source");
+            writer.writeOpenTag(PathLikelihood.PATH_LIKELIHOOD, attributes);
+            writer.writeOpenTag(PathLikelihood.SOURCE);
             writer.writeIDref(CompoundLikelihoodParser.POSTERIOR, CompoundLikelihoodParser.POSTERIOR);
-            writer.writeCloseTag("source");
-            writer.writeOpenTag("destination");
+            writer.writeCloseTag(PathLikelihood.SOURCE);
+            writer.writeOpenTag(PathLikelihood.DESTINATION);
             writer.writeIDref(CompoundLikelihoodParser.PRIOR, CompoundLikelihoodParser.PRIOR);
-            writer.writeCloseTag("destination");
-            writer.writeCloseTag("pathLikelihood");
+            writer.writeCloseTag(PathLikelihood.DESTINATION);
+            writer.writeCloseTag(PathLikelihood.PATH_LIKELIHOOD);
 
             attributes = new ArrayList<Attribute>();
             attributes.add(new Attribute.Default<String>(XMLParser.ID, "MLELog"));
@@ -132,26 +148,677 @@ public class MarginalLikelihoodEstimationGenerator extends BaseComponentGenerato
             writer.writeIDref("pathLikelihood", "pathLikelihood");
             writer.writeCloseTag("log");
 
-            writer.writeCloseTag("marginalLikelihoodEstimator");
+            writer.writeCloseTag(MarginalLikelihoodEstimator.MARGINAL_LIKELIHOOD_ESTIMATOR);
 
             writer.writeComment("Path sampling estimator from collected samples");
             attributes = new ArrayList<Attribute>();
             attributes.add(new Attribute.Default<String>("fileName", options.mleFileName));
-            writer.writeOpenTag("pathSamplingAnalysis", attributes);
+            writer.writeOpenTag(PathSamplingAnalysis.PATH_SAMPLING_ANALYSIS, attributes);
             writer.writeTag("likelihoodColumn", new Attribute.Default<String>("name", "pathLikelihood.delta"), true);
             writer.writeTag("thetaColumn", new Attribute.Default<String>("name", "pathLikelihood.theta"), true);
-            writer.writeCloseTag("pathSamplingAnalysis");
+            writer.writeCloseTag(PathSamplingAnalysis.PATH_SAMPLING_ANALYSIS);
 
             writer.writeComment("Stepping-stone sampling estimator from collected samples");
             attributes = new ArrayList<Attribute>();
             attributes.add(new Attribute.Default<String>("fileName", options.mleFileName));
-            writer.writeOpenTag("steppingStoneSamplingAnalysis", attributes);
+            writer.writeOpenTag(SteppingStoneSamplingAnalysis.STEPPING_STONE_SAMPLING_ANALYSIS, attributes);
             writer.writeTag("likelihoodColumn", new Attribute.Default<String>("name", "pathLikelihood.delta"), true);
             writer.writeTag("thetaColumn", new Attribute.Default<String>("name", "pathLikelihood.theta"), true);
-            writer.writeCloseTag("steppingStoneSamplingAnalysis");
+            writer.writeCloseTag(SteppingStoneSamplingAnalysis.STEPPING_STONE_SAMPLING_ANALYSIS);
+
+        } else if (options.performMLEGSS) {
+
+            //First define necessary components for the tree working prior
+            if (options.choiceTreeWorkingPrior.equals("Product of exponential distributions")) {
+                //more general product of exponentials needs to be constructed
+
+                if (DEBUG) {
+                    System.err.println("productOfExponentials selected: " + options.choiceTreeWorkingPrior);
+                }
+
+                List<Attribute> attributes = new ArrayList<Attribute>();
+                attributes.add(new Attribute.Default<String>(XMLParser.ID, "exponentials"));
+                attributes.add(new Attribute.Default<String>("fileName", beautiOptions.logFileName));
+                attributes.add(new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10));
+                attributes.add(new Attribute.Default<String>("parameterColumn", "coalescentEventsStatistic"));
+                attributes.add(new Attribute.Default<String>("dimension", "" + (beautiOptions.taxonList.getTaxonCount()-1)));
+
+                writer.writeOpenTag(TreeWorkingPriorParsers.PRODUCT_OF_EXPONENTIALS_POSTERIOR_MEANS_LOESS, attributes);
+                writer.writeTag(TreeModel.TREE_MODEL, new Attribute.Default<String>(XMLParser.ID, TreeModel.TREE_MODEL), true);
+                writer.writeCloseTag(TreeWorkingPriorParsers.PRODUCT_OF_EXPONENTIALS_POSTERIOR_MEANS_LOESS);
+
+            } else {
+                //matching coalescent model has to be constructed
+                //getting the coalescent model
+                if (DEBUG) {
+                    System.err.println("matching coalescent model selected: " + options.choiceTreeWorkingPrior);
+                    System.err.println(beautiOptions.getPartitionTreePriors().get(0).getNodeHeightPrior());
+                }
+                /*for (PartitionTreePrior prior : options.getPartitionTreePriors()) {
+                    treePriorGenerator.writeTreePriorModel(prior, writer);
+                    writer.writeText("");
+                }*/
+                //TODO: extend for more than 1 coalescent model?
+                TreePriorType nodeHeightPrior = beautiOptions.getPartitionTreePriors().get(0).getNodeHeightPrior();
+
+                switch (nodeHeightPrior) {
+                    case CONSTANT:
+
+                        writer.writeComment("A working prior for the constant population size model.");
+                        writer.writeOpenTag(
+                                ConstantPopulationModelParser.CONSTANT_POPULATION_MODEL,
+                                new Attribute[]{
+                                        new Attribute.Default<String>(XMLParser.ID, modelPrefix + "constantReference"),
+                                        new Attribute.Default<String>("units", Units.Utils.getDefaultUnitName(beautiOptions.units))
+                                }
+                        );
+
+                        writer.writeOpenTag(ConstantPopulationModelParser.POPULATION_SIZE);
+                        writeParameter("constantReference.popSize", "constant.popSize", beautiOptions.logFileName, (int) (options.mleChainLength * 0.10), writer);
+                        writer.writeCloseTag(ConstantPopulationModelParser.POPULATION_SIZE);
+                        writer.writeCloseTag(ConstantPopulationModelParser.CONSTANT_POPULATION_MODEL);
+
+                        writer.writeComment("A working prior for the coalescent.");
+                        writer.writeOpenTag(
+                                CoalescentLikelihoodParser.COALESCENT_LIKELIHOOD,
+                                new Attribute[]{
+                                        new Attribute.Default<String>(XMLParser.ID, modelPrefix + "coalescentReference")
+                                }
+                        );
+                        writer.writeOpenTag(CoalescentLikelihoodParser.MODEL);
+                        writer.writeIDref(ConstantPopulationModelParser.CONSTANT_POPULATION_MODEL, beautiOptions.getPartitionTreePriors().get(0).getPrefix() + "constantReference");
+                        writer.writeCloseTag(CoalescentLikelihoodParser.MODEL);
+                        writer.writeOpenTag(CoalescentLikelihoodParser.POPULATION_TREE);
+                        writer.writeIDref(TreeModel.TREE_MODEL, modelPrefix + TreeModel.TREE_MODEL);
+                        writer.writeCloseTag(CoalescentLikelihoodParser.POPULATION_TREE);
+                        writer.writeCloseTag(CoalescentLikelihoodParser.COALESCENT_LIKELIHOOD);
+
+                        break;
+
+                    case EXPONENTIAL:
+
+                        writer.writeComment("A working prior for the exponential growth model.");
+                        writer.writeOpenTag(
+                                ExponentialGrowthModelParser.EXPONENTIAL_GROWTH_MODEL,
+                                new Attribute[]{
+                                        new Attribute.Default<String>(XMLParser.ID, modelPrefix + "exponentialReference"),
+                                        new Attribute.Default<String>("units", Units.Utils.getDefaultUnitName(beautiOptions.units))
+                                }
+                        );
+
+                        writer.writeOpenTag(ExponentialGrowthModelParser.POPULATION_SIZE);
+                        writeParameter("exponentialReference.popSize", "exponential.popSize", beautiOptions.logFileName, (int) (options.mleChainLength * 0.10), writer);
+                        writer.writeCloseTag(ExponentialGrowthModelParser.POPULATION_SIZE);
+                        writer.writeOpenTag(ExponentialGrowthModelParser.GROWTH_RATE);
+                        writeParameter("exponentialReference.growthRate", "exponential.growthRate", beautiOptions.logFileName, (int) (options.mleChainLength * 0.10), writer);
+                        writer.writeCloseTag(ExponentialGrowthModelParser.GROWTH_RATE);
+                        writer.writeCloseTag(ExponentialGrowthModelParser.EXPONENTIAL_GROWTH_MODEL);
+
+                        writer.writeComment("A working prior for the coalescent.");
+                        writer.writeOpenTag(
+                                CoalescentLikelihoodParser.COALESCENT_LIKELIHOOD,
+                                new Attribute[]{
+                                        new Attribute.Default<String>(XMLParser.ID, modelPrefix + "coalescentReference")
+                                }
+                        );
+                        writer.writeOpenTag(CoalescentLikelihoodParser.MODEL);
+                        writer.writeIDref(ExponentialGrowthModelParser.EXPONENTIAL_GROWTH_MODEL, beautiOptions.getPartitionTreePriors().get(0).getPrefix() + "constantReference");
+                        writer.writeCloseTag(CoalescentLikelihoodParser.MODEL);
+                        writer.writeOpenTag(CoalescentLikelihoodParser.POPULATION_TREE);
+                        writer.writeIDref(TreeModel.TREE_MODEL, modelPrefix + TreeModel.TREE_MODEL);
+                        writer.writeCloseTag(CoalescentLikelihoodParser.POPULATION_TREE);
+                        writer.writeCloseTag(CoalescentLikelihoodParser.COALESCENT_LIKELIHOOD);
+
+                        break;
+
+                    case LOGISTIC:
+
+                        writer.writeComment("A working prior for the logistic growth model.");
+                        writer.writeOpenTag(
+                                LogisticGrowthModelParser.LOGISTIC_GROWTH_MODEL,
+                                new Attribute[]{
+                                        new Attribute.Default<String>(XMLParser.ID, modelPrefix + "logisticReference"),
+                                        new Attribute.Default<String>("units", Units.Utils.getDefaultUnitName(beautiOptions.units))
+                                }
+                        );
+
+                        writer.writeOpenTag(LogisticGrowthModelParser.POPULATION_SIZE);
+                        writeParameter("logisticReference.popSize", "logistic.popSize", beautiOptions.logFileName, (int) (options.mleChainLength * 0.10), writer);
+                        writer.writeCloseTag(LogisticGrowthModelParser.POPULATION_SIZE);
+                        writer.writeOpenTag(LogisticGrowthModelParser.GROWTH_RATE);
+                        writeParameter("logisticReference.growthRate", "logistic.growthRate", beautiOptions.logFileName, (int) (options.mleChainLength * 0.10), writer);
+                        writer.writeCloseTag(LogisticGrowthModelParser.GROWTH_RATE);
+                        writer.writeOpenTag(LogisticGrowthModelParser.TIME_50);
+                        writeParameter("logisticReference.t50", "logistic.t50", beautiOptions.logFileName, (int) (options.mleChainLength * 0.10), writer);
+                        writer.writeCloseTag(LogisticGrowthModelParser.TIME_50);
+                        writer.writeCloseTag(LogisticGrowthModelParser.LOGISTIC_GROWTH_MODEL);
+
+                        writer.writeComment("A working prior for the coalescent.");
+                        writer.writeOpenTag(
+                                CoalescentLikelihoodParser.COALESCENT_LIKELIHOOD,
+                                new Attribute[]{
+                                        new Attribute.Default<String>(XMLParser.ID, modelPrefix + "coalescentReference")
+                                }
+                        );
+                        writer.writeOpenTag(CoalescentLikelihoodParser.MODEL);
+                        writer.writeIDref(LogisticGrowthModelParser.LOGISTIC_GROWTH_MODEL, beautiOptions.getPartitionTreePriors().get(0).getPrefix() + "constantReference");
+                        writer.writeCloseTag(CoalescentLikelihoodParser.MODEL);
+                        writer.writeOpenTag(CoalescentLikelihoodParser.POPULATION_TREE);
+                        writer.writeIDref(TreeModel.TREE_MODEL, modelPrefix + TreeModel.TREE_MODEL);
+                        writer.writeCloseTag(CoalescentLikelihoodParser.POPULATION_TREE);
+                        writer.writeCloseTag(CoalescentLikelihoodParser.COALESCENT_LIKELIHOOD);
+
+                        break;
+
+                    case EXPANSION:
+
+                        writer.writeComment("A working prior for the expansion growth model.");
+                        writer.writeOpenTag(
+                                ExpansionModelParser.EXPANSION_MODEL,
+                                new Attribute[]{
+                                        new Attribute.Default<String>(XMLParser.ID, modelPrefix + "expansionReference"),
+                                        new Attribute.Default<String>("units", Units.Utils.getDefaultUnitName(beautiOptions.units))
+                                }
+                        );
+
+                        writer.writeOpenTag(ExpansionModelParser.POPULATION_SIZE);
+                        writeParameter("expansionReference.popSize", "expansion.popSize", beautiOptions.logFileName, (int) (options.mleChainLength * 0.10), writer);
+                        writer.writeCloseTag(ExpansionModelParser.POPULATION_SIZE);
+                        writer.writeOpenTag(ExpansionModelParser.GROWTH_RATE);
+                        writeParameter("expansionReference.growthRate", "expansion.growthRate", beautiOptions.logFileName, (int) (options.mleChainLength * 0.10), writer);
+                        writer.writeCloseTag(ExpansionModelParser.GROWTH_RATE);
+                        writer.writeOpenTag(ExpansionModelParser.ANCESTRAL_POPULATION_PROPORTION);
+                        writeParameter("expansionReference.ancestralProportion", "expansion.ancestralProportion", beautiOptions.logFileName, (int) (options.mleChainLength * 0.10), writer);
+                        writer.writeCloseTag(ExpansionModelParser.ANCESTRAL_POPULATION_PROPORTION);
+                        writer.writeCloseTag(ExpansionModelParser.EXPANSION_MODEL);
+
+                        writer.writeComment("A working prior for the coalescent.");
+                        writer.writeOpenTag(
+                                CoalescentLikelihoodParser.COALESCENT_LIKELIHOOD,
+                                new Attribute[]{
+                                        new Attribute.Default<String>(XMLParser.ID, modelPrefix + "coalescentReference")
+                                }
+                        );
+                        writer.writeOpenTag(CoalescentLikelihoodParser.MODEL);
+                        writer.writeIDref(ExpansionModelParser.EXPANSION_MODEL, beautiOptions.getPartitionTreePriors().get(0).getPrefix() + "constantReference");
+                        writer.writeCloseTag(CoalescentLikelihoodParser.MODEL);
+                        writer.writeOpenTag(CoalescentLikelihoodParser.POPULATION_TREE);
+                        writer.writeIDref(TreeModel.TREE_MODEL, modelPrefix + TreeModel.TREE_MODEL);
+                        writer.writeCloseTag(CoalescentLikelihoodParser.POPULATION_TREE);
+                        writer.writeCloseTag(CoalescentLikelihoodParser.COALESCENT_LIKELIHOOD);
+
+                        break;
+
+                    default:
+
+                        //Do not switch to product of exponentials as the coalescentEventsStatistic has not been logged
+                        //TODO: show menu that explains mismatch between prior and working prior?
+                        //TODO: but show it when the MCM option is wrongfully being selected, don't do anything here
+
+                }
+
+            }
+
+            writer.writeComment("Define marginal likelihood estimator (GSS) settings");
+
+            List<Attribute> attributes = new ArrayList<Attribute>();
+            attributes.add(new Attribute.Default<Integer>(MarginalLikelihoodEstimator.CHAIN_LENGTH, options.mleChainLength));
+            attributes.add(new Attribute.Default<Integer>(MarginalLikelihoodEstimator.PATH_STEPS, options.pathSteps));
+            attributes.add(new Attribute.Default<String>(MarginalLikelihoodEstimator.PATH_SCHEME, options.pathScheme));
+            if (!options.pathScheme.equals(MarginalLikelihoodEstimator.LINEAR)) {
+                attributes.add(new Attribute.Default<Double>(MarginalLikelihoodEstimator.ALPHA, options.schemeParameter));
+            }
+            if (options.printOperatorAnalysis) {
+                attributes.add(new Attribute.Default<Boolean>(MarginalLikelihoodEstimator.PRINT_OPERATOR_ANALYSIS, true));
+            }
+
+            writer.writeOpenTag(MarginalLikelihoodEstimator.MARGINAL_LIKELIHOOD_ESTIMATOR, attributes);
+
+            writer.writeOpenTag("samplers");
+            writer.writeIDref("mcmc", "mcmc");
+            writer.writeCloseTag("samplers");
+
+            attributes = new ArrayList<Attribute>();
+            attributes.add(new Attribute.Default<String>(XMLParser.ID, "pathLikelihood"));
+            writer.writeOpenTag(PathLikelihood.PATH_LIKELIHOOD, attributes);
+            writer.writeOpenTag(PathLikelihood.SOURCE);
+            writer.writeIDref(CompoundLikelihoodParser.POSTERIOR, CompoundLikelihoodParser.POSTERIOR);
+            writer.writeCloseTag(PathLikelihood.SOURCE);
+            writer.writeOpenTag(PathLikelihood.DESTINATION);
+            writer.writeOpenTag(CompoundLikelihoodParser.WORKING_PRIOR);
+
+            //Start with providing working priors for the substitution model(s)
+            for (PartitionSubstitutionModel model : beautiOptions.getPartitionSubstitutionModels()) {
+                int codonPartitionCount = model.getCodonPartitionCount();
+
+                switch (model.getDataType().getType()) {
+                    case DataType.NUCLEOTIDES:
+
+                        switch (model.getNucSubstitutionModel()) {
+
+                            case HKY:
+                                if (codonPartitionCount > 1 && model.isUnlinkedSubstitutionModel()) {
+                                    for (int i = 1; i <= codonPartitionCount; i++) {
+                                        writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                                new Attribute[]{
+                                                        new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                                        new Attribute.Default<String>("parameterColumn", model.getPrefix(i) + "kappa"),
+                                                        new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                                });
+                                        writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix(i) + "kappa");
+                                        writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                                    }
+                                } else {
+                                    writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                            new Attribute[]{
+                                                    new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                                    new Attribute.Default<String>("parameterColumn", model.getPrefix() + "kappa"),
+                                                    new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                            });
+                                    writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix() + "kappa");
+                                    writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                                }
+                                break;
+
+                            case TN93:
+                                if (codonPartitionCount > 1 && model.isUnlinkedSubstitutionModel()) {
+                                    for (int i = 1; i <= codonPartitionCount; i++) {
+                                        writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                                new Attribute[]{
+                                                        new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                                        new Attribute.Default<String>("parameterColumn", model.getPrefix(i) + "kappa1"),
+                                                        new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                                });
+                                        writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix(i) + "kappa1");
+                                        writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                                        writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                                new Attribute[]{
+                                                        new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                                        new Attribute.Default<String>("parameterColumn", model.getPrefix(i) + "kappa2"),
+                                                        new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                                });
+                                        writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix(i) + "kappa2");
+                                        writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                                    }
+                                } else {
+                                    writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                            new Attribute[]{
+                                                    new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                                    new Attribute.Default<String>("parameterColumn", model.getPrefix() + "kappa1"),
+                                                    new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                            });
+                                    writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix() + "kappa1");
+                                    writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                                    writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                            new Attribute[]{
+                                                    new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                                    new Attribute.Default<String>("parameterColumn", model.getPrefix() + "kappa2"),
+                                                    new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                            });
+                                    writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix() + "kappa2");
+                                    writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                                }
+                                break;
+
+                            case GTR:
+                                if (codonPartitionCount > 1 && model.isUnlinkedSubstitutionModel()) {
+                                    for (int i = 1; i <= codonPartitionCount; i++) {
+                                        for (String rateName : PartitionSubstitutionModel.GTR_RATE_NAMES) {
+                                            writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                                    new Attribute[]{
+                                                            new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                                            new Attribute.Default<String>("parameterColumn", model.getPrefix(i) + rateName),
+                                                            new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength * 0.10)
+                                                    });
+                                            writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix(i) + rateName);
+                                            writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                                        }
+                                    }
+                                } else {
+                                    for (String rateName : PartitionSubstitutionModel.GTR_RATE_NAMES) {
+                                        writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                                new Attribute[]{
+                                                        new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                                        new Attribute.Default<String>("parameterColumn", model.getPrefix() + rateName),
+                                                        new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength * 0.10)
+                                                });
+                                        writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix() + rateName);
+                                        writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                                    }
+                                }
+                                break;
+
+                        }
+
+                        if (model.getFrequencyPolicy() == FrequencyPolicyType.ESTIMATED) {
+                            if (codonPartitionCount > 1 && model.isUnlinkedSubstitutionModel() && model.isUnlinkedFrequencyModel()) {
+                                for (int i = 1; i <= codonPartitionCount; i++) {
+                                    writer.writeOpenTag(WorkingPriorParsers.LOGIT_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                            new Attribute[]{
+                                                    new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                                    new Attribute.Default<String>("parameterColumn", model.getPrefix(i) + "frequencies"),
+                                                    new Attribute.Default<Integer>("dimension", 4),
+                                                    new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                            });
+                                    writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix(i) + "frequencies");
+                                    writer.writeCloseTag(WorkingPriorParsers.LOGIT_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                                }
+                            } else {
+                                writer.writeOpenTag(WorkingPriorParsers.LOGIT_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                        new Attribute[]{
+                                                new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                                new Attribute.Default<String>("parameterColumn", model.getPrefix() + "frequencies"),
+                                                new Attribute.Default<Integer>("dimension", 4),
+                                                new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                        });
+                                writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix() + "frequencies");
+                                writer.writeCloseTag(WorkingPriorParsers.LOGIT_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                            }
+                        }
+
+                        break;//NUCLEOTIDES
+
+                    default:
+                        throw new IllegalArgumentException("Unknown data type");
+                }
+
+                if (model.isGammaHetero()) {
+                    if (codonPartitionCount > 1 && model.isUnlinkedHeterogeneityModel()) {
+                        for (int i = 1; i <= codonPartitionCount; i++) {
+                            writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                    new Attribute[]{
+                                            new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                            new Attribute.Default<String>("parameterColumn", model.getPrefix(i) + "alpha"),
+                                            new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                    });
+                            writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix(i) + "alpha");
+                            writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                        }
+                    } else {
+                        writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                new Attribute[]{
+                                        new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                        new Attribute.Default<String>("parameterColumn", model.getPrefix() + "alpha"),
+                                        new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                });
+                        writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix() + "alpha");
+                        writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                    }
+                }
+
+                if (model.isInvarHetero()) {
+                    if (codonPartitionCount > 1 && model.isUnlinkedHeterogeneityModel()) {
+                        for (int i = 1; i <= codonPartitionCount; i++) {
+                            writer.writeOpenTag(WorkingPriorParsers.LOGIT_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                    new Attribute[]{
+                                            new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                            new Attribute.Default<String>("parameterColumn", model.getPrefix(i) + "pInv"),
+                                            new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                    });
+                            writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix(i) + "pInv");
+                            writer.writeCloseTag(WorkingPriorParsers.LOGIT_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                        }
+                    } else {
+                        writer.writeOpenTag(WorkingPriorParsers.LOGIT_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                new Attribute[]{
+                                        new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                        new Attribute.Default<String>("parameterColumn", model.getPrefix() + "pInv"),
+                                        new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                });
+                        writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix() + "pInv");
+                        writer.writeCloseTag(WorkingPriorParsers.LOGIT_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                    }
+                }
+            }
+
+            //Continue with providing working priors for the clock model(s)
+            for (PartitionClockModel model : beautiOptions.getPartitionClockModels()) {
+                switch(model.getClockType()) {
+                    case STRICT_CLOCK:
+                        writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                new Attribute[]{
+                                        new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                        new Attribute.Default<String>("parameterColumn", model.getPrefix() + "clock.rate"),
+                                        new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                });
+                        writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix() + "clock.rate");
+                        writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                        break;
+
+                    case UNCORRELATED:
+                        switch (model.getClockDistributionType()) {
+                            case LOGNORMAL:
+                                if (model.getClockRateParam().isMeanInRealSpace()) {
+                                    writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                            new Attribute[]{
+                                                    new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                                    new Attribute.Default<String>("parameterColumn", model.getPrefix() + ClockType.UCLD_MEAN),
+                                                    new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                            });
+                                    writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix() + ClockType.UCLD_MEAN);
+                                    writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                                    writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                            new Attribute[]{
+                                                    new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                                    new Attribute.Default<String>("parameterColumn", model.getPrefix() + ClockType.UCLD_STDEV),
+                                                    new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                            });
+                                    writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix() + ClockType.UCLD_STDEV);
+                                    writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                                } else {
+                                    writer.writeOpenTag(WorkingPriorParsers.NORMAL_REFERENCE_PRIOR,
+                                            new Attribute[]{
+                                                    new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                                    new Attribute.Default<String>("parameterColumn", model.getPrefix() + ClockType.UCLD_MEAN),
+                                                    new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                            });
+                                    writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix() + ClockType.UCLD_MEAN);
+                                    writer.writeCloseTag(WorkingPriorParsers.NORMAL_REFERENCE_PRIOR);
+                                    writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                            new Attribute[]{
+                                                    new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                                    new Attribute.Default<String>("parameterColumn", model.getPrefix() + ClockType.UCLD_STDEV),
+                                                    new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                            });
+                                    writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix() + ClockType.UCLD_STDEV);
+                                    writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                                }
+                                break;
+
+                            case EXPONENTIAL:
+                                writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                        new Attribute[]{
+                                                new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                                new Attribute.Default<String>("parameterColumn", model.getPrefix() + ClockType.UCED_MEAN),
+                                                new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                        });
+                                writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix() + ClockType.UCED_MEAN);
+                                writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                                break;
+                        }
+                        break;
+
+                    default:
+                        throw new IllegalArgumentException("Unknown clock model");
+                }
+            }
+
+            //Provide working priors for the coalescent model(s)
+            for (PartitionTreePrior model : beautiOptions.getPartitionTreePriors()) {
+                TreePriorType nodeHeightPrior = model.getNodeHeightPrior();
+                TreePriorParameterizationType parameterization = model.getParameterization();
+
+                switch (nodeHeightPrior) {
+                    case CONSTANT:
+                        writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                new Attribute[]{
+                                        new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                        new Attribute.Default<String>("parameterColumn", "constant.popSize"),
+                                        new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                });
+                        writer.writeIDref(ParameterParser.PARAMETER, "constant.popSize");
+                        writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                        break;
+
+                    case EXPONENTIAL:
+                        writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                new Attribute[]{
+                                        new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                        new Attribute.Default<String>("parameterColumn", "exponential.popSize"),
+                                        new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                });
+                        writer.writeIDref(ParameterParser.PARAMETER, "exponential.popSize");
+                        writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+
+                        if (parameterization == TreePriorParameterizationType.GROWTH_RATE) {
+                            writer.writeOpenTag(WorkingPriorParsers.NORMAL_REFERENCE_PRIOR,
+                                    new Attribute[]{
+                                            new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                            new Attribute.Default<String>("parameterColumn", "exponential.growthRate"),
+                                            new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength * 0.10)
+                                    });
+                            writer.writeIDref(ParameterParser.PARAMETER, "exponential.growthRate");
+                            writer.writeCloseTag(WorkingPriorParsers.NORMAL_REFERENCE_PRIOR);
+                        } else {
+                            writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                    new Attribute[]{
+                                            new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                            new Attribute.Default<String>("parameterColumn", "exponential.doublingTime"),
+                                            new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength * 0.10)
+                                    });
+                            writer.writeIDref(ParameterParser.PARAMETER, "exponential.doublingTime");
+                            writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                        }
+
+                        break;
+
+                    case LOGISTIC:
+                        writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                new Attribute[]{
+                                        new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                        new Attribute.Default<String>("parameterColumn", "logistic.popSize"),
+                                        new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                });
+                        writer.writeIDref(ParameterParser.PARAMETER, "logistic.popSize");
+                        writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+
+                        if (parameterization == TreePriorParameterizationType.GROWTH_RATE) {
+                            writer.writeOpenTag(WorkingPriorParsers.NORMAL_REFERENCE_PRIOR,
+                                    new Attribute[]{
+                                            new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                            new Attribute.Default<String>("parameterColumn", "logistic.growthRate"),
+                                            new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength * 0.10)
+                                    });
+                            writer.writeIDref(ParameterParser.PARAMETER, "logistic.growthRate");
+                            writer.writeCloseTag(WorkingPriorParsers.NORMAL_REFERENCE_PRIOR);
+                        } else {
+                            writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                    new Attribute[]{
+                                            new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                            new Attribute.Default<String>("parameterColumn", "logistic.doublingTime"),
+                                            new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength * 0.10)
+                                    });
+                            writer.writeIDref(ParameterParser.PARAMETER, "logistic.doublingTime");
+                            writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                        }
+
+                        writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                new Attribute[]{
+                                        new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                        new Attribute.Default<String>("parameterColumn", "logistic.t50"),
+                                        new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                });
+                        writer.writeIDref(ParameterParser.PARAMETER, "logistic.t50");
+                        writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+
+                        break;
+
+                    case EXPANSION:
+                        writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                new Attribute[]{
+                                        new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                        new Attribute.Default<String>("parameterColumn", "expansion.popSize"),
+                                        new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                });
+                        writer.writeIDref(ParameterParser.PARAMETER, "expansion.popSize");
+                        writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+
+                        if (parameterization == TreePriorParameterizationType.GROWTH_RATE) {
+                            writer.writeOpenTag(WorkingPriorParsers.NORMAL_REFERENCE_PRIOR,
+                                    new Attribute[]{
+                                            new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                            new Attribute.Default<String>("parameterColumn", "expansion.growthRate"),
+                                            new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength * 0.10)
+                                    });
+                            writer.writeIDref(ParameterParser.PARAMETER, "expansion.growthRate");
+                            writer.writeCloseTag(WorkingPriorParsers.NORMAL_REFERENCE_PRIOR);
+                        } else {
+                            writer.writeOpenTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                    new Attribute[]{
+                                            new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                            new Attribute.Default<String>("parameterColumn", "expansion.doublingTime"),
+                                            new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength * 0.10)
+                                    });
+                            writer.writeIDref(ParameterParser.PARAMETER, "expansion.doublingTime");
+                            writer.writeCloseTag(WorkingPriorParsers.LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+                        }
+
+                        writer.writeOpenTag(WorkingPriorParsers.LOGIT_TRANSFORMED_NORMAL_REFERENCE_PRIOR,
+                                new Attribute[]{
+                                        new Attribute.Default<String>("fileName", beautiOptions.logFileName),
+                                        new Attribute.Default<String>("parameterColumn", "expansion.ancestralProportion"),
+                                        new Attribute.Default<String>("burnin", "" + beautiOptions.chainLength*0.10)
+                                });
+                        writer.writeIDref(ParameterParser.PARAMETER, "expansion.ancestralProportion");
+                        writer.writeCloseTag(WorkingPriorParsers.LOGIT_TRANSFORMED_NORMAL_REFERENCE_PRIOR);
+
+                        break;
+                }
+            }
+
+            //TODO: take care of anything else I missed
+
+
+
+            if (options.choiceTreeWorkingPrior.equals("Product of exponential distributions")) {
+                writer.writeIDref("productOfExponentialsPosteriorMeansLoess", "exponentials");
+            } else {
+                writer.writeIDref(CoalescentLikelihoodParser.COALESCENT_LIKELIHOOD, "coalescentReference");
+            }
+
+            writer.writeCloseTag(CompoundLikelihoodParser.WORKING_PRIOR);
+            writer.writeCloseTag(PathLikelihood.DESTINATION);
+            writer.writeCloseTag(PathLikelihood.PATH_LIKELIHOOD);
+
+            attributes = new ArrayList<Attribute>();
+            attributes.add(new Attribute.Default<String>(XMLParser.ID, "MLELog"));
+            attributes.add(new Attribute.Default<Integer>("logEvery", options.mleLogEvery));
+            attributes.add(new Attribute.Default<String>("fileName", options.mleFileName));
+            writer.writeOpenTag("log", attributes);
+            writer.writeIDref("pathLikelihood", "pathLikelihood");
+            writer.writeCloseTag("log");
+
+            writer.writeCloseTag(MarginalLikelihoodEstimator.MARGINAL_LIKELIHOOD_ESTIMATOR);
+
+            writer.writeComment("Generalized stepping-stone sampling estimator from collected samples");
+            attributes = new ArrayList<Attribute>();
+            attributes.add(new Attribute.Default<String>("fileName", options.mleFileName));
+            writer.writeOpenTag(GeneralizedSteppingStoneSamplingAnalysis.GENERALIZED_STEPPING_STONE_SAMPLING_ANALYSIS, attributes);
+            writer.writeTag("sourceColumn", new Attribute.Default<String>("name", "pathLikelihood.source"), true);
+            writer.writeTag("destinationColumn", new Attribute.Default<String>("name", "pathLikelihood.destination"), true);
+            writer.writeTag("thetaColumn", new Attribute.Default<String>("name", "pathLikelihood.theta"), true);
+            writer.writeCloseTag(GeneralizedSteppingStoneSamplingAnalysis.GENERALIZED_STEPPING_STONE_SAMPLING_ANALYSIS);
 
         }
 
     }
 
+    private void writeParameterIdref(XMLWriter writer, Parameter parameter) {
+        if (parameter.isStatistic) {
+            writer.writeIDref("statistic", parameter.getName());
+        } else {
+            writer.writeIDref(ParameterParser.PARAMETER, parameter.getName());
+        }
+    }
+
 }
diff --git a/src/dr/app/beauti/components/marginalLikelihoodEstimation/MarginalLikelihoodEstimationOptions.java b/src/dr/app/beauti/components/marginalLikelihoodEstimation/MarginalLikelihoodEstimationOptions.java
index ac8cf74..c81d35a 100644
--- a/src/dr/app/beauti/components/marginalLikelihoodEstimation/MarginalLikelihoodEstimationOptions.java
+++ b/src/dr/app/beauti/components/marginalLikelihoodEstimation/MarginalLikelihoodEstimationOptions.java
@@ -1,7 +1,7 @@
 /*
  * MarginalLikelihoodEstimationOptions.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -25,22 +25,21 @@
 
 package dr.app.beauti.components.marginalLikelihoodEstimation;
 
-import dr.app.beauti.options.*;
-import dr.app.beauti.types.OperatorType;
-import dr.app.beauti.types.PriorScaleType;
-import dr.app.beauti.types.SequenceErrorType;
+import dr.app.beauti.options.ComponentOptions;
+import dr.app.beauti.options.ModelOptions;
+import dr.app.beauti.options.Operator;
+import dr.app.beauti.options.Parameter;
 
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 /**
  * @author Andrew Rambaut
+ * @author Guy Baele
  * @version $Id$
  */
 public class MarginalLikelihoodEstimationOptions implements ComponentOptions {
 
-    MarginalLikelihoodEstimationOptions() {
+    public MarginalLikelihoodEstimationOptions() {
     }
 
     @Override
@@ -62,13 +61,18 @@ public class MarginalLikelihoodEstimationOptions implements ComponentOptions {
     public void selectOperators(ModelOptions modelOptions, List<Operator> ops) {
         // nothing to do
     }
+
     //MLE options
     public boolean performMLE = false;
+    public boolean performMLEGSS = false;
+    public boolean printOperatorAnalysis = false;
     public int pathSteps = 100;
     public int mleChainLength = 1000000;
     public int mleLogEvery = 1000;
-    public String mleFileName = "MLE.log";
+    public String mleFileName = "mle.log";
     public String pathScheme = "betaquantile";
+    //public String choiceParameterWorkingPrior = "normal";
+    public String choiceTreeWorkingPrior = "Product of exponential distributions";
     public double schemeParameter = 0.30;
 
 }
\ No newline at end of file
diff --git a/src/dr/app/beauti/components/sequenceerror/SequenceErrorModelComponentFactory.java b/src/dr/app/beauti/components/sequenceerror/SequenceErrorModelComponentFactory.java
index 30cbc09..97c5108 100644
--- a/src/dr/app/beauti/components/sequenceerror/SequenceErrorModelComponentFactory.java
+++ b/src/dr/app/beauti/components/sequenceerror/SequenceErrorModelComponentFactory.java
@@ -1,3 +1,28 @@
+/*
+ * SequenceErrorModelComponentFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.sequenceerror;
 
 import dr.app.beauti.components.ComponentFactory;
diff --git a/src/dr/app/beauti/components/sequenceerror/SequenceErrorModelComponentGenerator.java b/src/dr/app/beauti/components/sequenceerror/SequenceErrorModelComponentGenerator.java
index fb6e318..6d44980 100644
--- a/src/dr/app/beauti/components/sequenceerror/SequenceErrorModelComponentGenerator.java
+++ b/src/dr/app/beauti/components/sequenceerror/SequenceErrorModelComponentGenerator.java
@@ -1,3 +1,28 @@
+/*
+ * SequenceErrorModelComponentGenerator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.sequenceerror;
 
 import dr.app.beauti.generator.BaseComponentGenerator;
diff --git a/src/dr/app/beauti/components/sequenceerror/SequenceErrorModelComponentOptions.java b/src/dr/app/beauti/components/sequenceerror/SequenceErrorModelComponentOptions.java
index 27a3c3a..ff4bf04 100644
--- a/src/dr/app/beauti/components/sequenceerror/SequenceErrorModelComponentOptions.java
+++ b/src/dr/app/beauti/components/sequenceerror/SequenceErrorModelComponentOptions.java
@@ -1,3 +1,28 @@
+/*
+ * SequenceErrorModelComponentOptions.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.sequenceerror;
 
 import dr.app.beauti.options.*;
diff --git a/src/dr/app/beauti/components/tipdatesampling/TipDateSamplingComponentFactory.java b/src/dr/app/beauti/components/tipdatesampling/TipDateSamplingComponentFactory.java
index 46ede27..2f354c1 100644
--- a/src/dr/app/beauti/components/tipdatesampling/TipDateSamplingComponentFactory.java
+++ b/src/dr/app/beauti/components/tipdatesampling/TipDateSamplingComponentFactory.java
@@ -1,3 +1,28 @@
+/*
+ * TipDateSamplingComponentFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.tipdatesampling;
 
 import dr.app.beauti.components.ComponentFactory;
diff --git a/src/dr/app/beauti/components/tipdatesampling/TipDateSamplingComponentGenerator.java b/src/dr/app/beauti/components/tipdatesampling/TipDateSamplingComponentGenerator.java
index 9939dbb..427c1ba 100644
--- a/src/dr/app/beauti/components/tipdatesampling/TipDateSamplingComponentGenerator.java
+++ b/src/dr/app/beauti/components/tipdatesampling/TipDateSamplingComponentGenerator.java
@@ -1,3 +1,28 @@
+/*
+ * TipDateSamplingComponentGenerator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.tipdatesampling;
 
 import dr.app.beauti.options.AbstractPartitionData;
diff --git a/src/dr/app/beauti/components/tipdatesampling/TipDateSamplingComponentOptions.java b/src/dr/app/beauti/components/tipdatesampling/TipDateSamplingComponentOptions.java
index e37fbbe..d5f60ef 100644
--- a/src/dr/app/beauti/components/tipdatesampling/TipDateSamplingComponentOptions.java
+++ b/src/dr/app/beauti/components/tipdatesampling/TipDateSamplingComponentOptions.java
@@ -1,3 +1,28 @@
+/*
+ * TipDateSamplingComponentOptions.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.components.tipdatesampling;
 
 import dr.app.beauti.options.*;
diff --git a/src/dr/app/beauti/datapanel/BeautiAlignmentBuffer.java b/src/dr/app/beauti/datapanel/BeautiAlignmentBuffer.java
index d6b9939..43dfcab 100755
--- a/src/dr/app/beauti/datapanel/BeautiAlignmentBuffer.java
+++ b/src/dr/app/beauti/datapanel/BeautiAlignmentBuffer.java
@@ -1,3 +1,28 @@
+/*
+ * BeautiAlignmentBuffer.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.datapanel;
 
 
diff --git a/src/dr/app/beauti/datapanel/DataPanel.java b/src/dr/app/beauti/datapanel/DataPanel.java
index ba205d7..53cf34a 100644
--- a/src/dr/app/beauti/datapanel/DataPanel.java
+++ b/src/dr/app/beauti/datapanel/DataPanel.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * DataPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/datapanel/SelectClockDialog.java b/src/dr/app/beauti/datapanel/SelectClockDialog.java
index 31e5b3f..8fd5fd0 100644
--- a/src/dr/app/beauti/datapanel/SelectClockDialog.java
+++ b/src/dr/app/beauti/datapanel/SelectClockDialog.java
@@ -1,7 +1,7 @@
 /*
- * PriorDialog.java
+ * SelectClockDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/datapanel/SelectModelDialog.java b/src/dr/app/beauti/datapanel/SelectModelDialog.java
index 0fd27ce..4385be8 100644
--- a/src/dr/app/beauti/datapanel/SelectModelDialog.java
+++ b/src/dr/app/beauti/datapanel/SelectModelDialog.java
@@ -1,7 +1,7 @@
 /*
- * PriorDialog.java
+ * SelectModelDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/datapanel/SelectTraitDialog.java b/src/dr/app/beauti/datapanel/SelectTraitDialog.java
index ee9a827..11aea8e 100644
--- a/src/dr/app/beauti/datapanel/SelectTraitDialog.java
+++ b/src/dr/app/beauti/datapanel/SelectTraitDialog.java
@@ -1,7 +1,7 @@
 /*
- * PriorDialog.java
+ * SelectTraitDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/datapanel/SelectTreeDialog.java b/src/dr/app/beauti/datapanel/SelectTreeDialog.java
index 5c34696..070044b 100644
--- a/src/dr/app/beauti/datapanel/SelectTreeDialog.java
+++ b/src/dr/app/beauti/datapanel/SelectTreeDialog.java
@@ -1,7 +1,7 @@
 /*
- * PriorDialog.java
+ * SelectTreeDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/datapanel/ViewAligmentPanel.java b/src/dr/app/beauti/datapanel/ViewAligmentPanel.java
index 2b02228..974df6c 100644
--- a/src/dr/app/beauti/datapanel/ViewAligmentPanel.java
+++ b/src/dr/app/beauti/datapanel/ViewAligmentPanel.java
@@ -1,7 +1,7 @@
 /*
  * ViewAligmentPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/generator/AlignmentGenerator.java b/src/dr/app/beauti/generator/AlignmentGenerator.java
index dd45542..08a63c7 100644
--- a/src/dr/app/beauti/generator/AlignmentGenerator.java
+++ b/src/dr/app/beauti/generator/AlignmentGenerator.java
@@ -1,7 +1,7 @@
 /*
  * AlignmentGenerator.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/generator/BaseComponentGenerator.java b/src/dr/app/beauti/generator/BaseComponentGenerator.java
index fc95813..5c1b9cf 100644
--- a/src/dr/app/beauti/generator/BaseComponentGenerator.java
+++ b/src/dr/app/beauti/generator/BaseComponentGenerator.java
@@ -1,3 +1,28 @@
+/*
+ * BaseComponentGenerator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.generator;
 
 import dr.app.beauti.options.BeautiOptions;
diff --git a/src/dr/app/beauti/generator/BeastGenerator.java b/src/dr/app/beauti/generator/BeastGenerator.java
index b8e5d80..e2d66ea 100644
--- a/src/dr/app/beauti/generator/BeastGenerator.java
+++ b/src/dr/app/beauti/generator/BeastGenerator.java
@@ -1,7 +1,7 @@
 /*
  * BeastGenerator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/generator/BranchRatesModelGenerator.java b/src/dr/app/beauti/generator/BranchRatesModelGenerator.java
index 9b72649..d25f89c 100644
--- a/src/dr/app/beauti/generator/BranchRatesModelGenerator.java
+++ b/src/dr/app/beauti/generator/BranchRatesModelGenerator.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * BranchRatesModelGenerator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/generator/ComponentGenerator.java b/src/dr/app/beauti/generator/ComponentGenerator.java
index ddeb963..02b0ed3 100644
--- a/src/dr/app/beauti/generator/ComponentGenerator.java
+++ b/src/dr/app/beauti/generator/ComponentGenerator.java
@@ -1,3 +1,28 @@
+/*
+ * ComponentGenerator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.generator;
 
 import dr.app.beauti.util.XMLWriter;
diff --git a/src/dr/app/beauti/generator/Generator.java b/src/dr/app/beauti/generator/Generator.java
index 9976940..93922e6 100644
--- a/src/dr/app/beauti/generator/Generator.java
+++ b/src/dr/app/beauti/generator/Generator.java
@@ -1,3 +1,28 @@
+/*
+ * Generator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.generator;
 
 import dr.app.beauti.components.ComponentFactory;
@@ -185,6 +210,31 @@ public abstract class Generator {
         }
     }
 
+    /**
+     * write a parameter
+     *
+     * @param parameterId     the parameter name/id
+     * @param parameterColumn the parameter column from which the samples are taken
+     * @param fileName        the file from which the samples are taken
+     * @param burnin          the number of samples to be discarded
+     * @param writer          the writer
+     */
+    public void writeParameter(String parameterId, String parameterColumn, String fileName, int burnin, XMLWriter writer) {
+        ArrayList<Attribute.Default> attributes = new ArrayList<Attribute.Default>();
+        attributes.add(new Attribute.Default<String>(XMLParser.ID, parameterId));
+
+        attributes.add(new Attribute.Default<String>("parameterColumn", parameterColumn));
+        attributes.add(new Attribute.Default<String>("fileName", fileName));
+        attributes.add(new Attribute.Default<String>("burnin", "" + burnin));
+
+        Attribute[] attrArray = new Attribute[attributes.size()];
+        for (int i = 0; i < attrArray.length; i++) {
+            attrArray[i] = attributes.get(i);
+        }
+
+        writer.writeTag(ParameterParser.PARAMETER, attrArray, true);
+    }
+
     public void writeParameter(String id, Parameter parameter, XMLWriter writer) {
         if (parameter.isFixed) {
             writeParameter(id, 1, parameter.initial, Double.NaN, Double.NaN, writer);
diff --git a/src/dr/app/beauti/generator/InitialTreeGenerator.java b/src/dr/app/beauti/generator/InitialTreeGenerator.java
index ac1fdda..d105ff9 100644
--- a/src/dr/app/beauti/generator/InitialTreeGenerator.java
+++ b/src/dr/app/beauti/generator/InitialTreeGenerator.java
@@ -1,7 +1,7 @@
 /*
  * InitialTreeGenerator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/generator/LogGenerator.java b/src/dr/app/beauti/generator/LogGenerator.java
index e163b3b..f8aa741 100644
--- a/src/dr/app/beauti/generator/LogGenerator.java
+++ b/src/dr/app/beauti/generator/LogGenerator.java
@@ -1,7 +1,7 @@
 /*
  * LogGenerator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -314,6 +314,25 @@ public class LogGenerator extends Generator {
             branchRatesModelGenerator.writeLogStatistic(model, writer);
         }
 
+        if (options.logCoalescentEventsStatistic) {
+            writer.writeOpenTag("coalescentEventsStatistic");
+            // coalescentLikelihood
+            for (PartitionTreeModel model : options.getPartitionTreeModels()) {
+                PartitionTreePrior prior = model.getPartitionTreePrior();
+                treePriorGenerator.writePriorLikelihoodReferenceLog(prior, model, writer);
+                writer.writeText("");
+            }
+
+            /*for (PartitionTreePrior prior : options.getPartitionTreePriors()) {
+                if (prior.getNodeHeightPrior() == TreePriorType.EXTENDED_SKYLINE) {
+                    writer.writeIDref(CoalescentLikelihoodParser.COALESCENT_LIKELIHOOD, prior.getPrefix() + COALESCENT); // only 1 coalescent
+                } else if (prior.getNodeHeightPrior() == TreePriorType.SKYGRID) {
+                    writer.writeIDref(GMRFSkyrideLikelihoodParser.SKYGRID_LIKELIHOOD, prior.getPrefix() + "skygrid");
+                }
+            }*/
+            writer.writeCloseTag("coalescentEventsStatistic");
+        }
+
         generateInsertionPoint(ComponentGenerator.InsertionPoint.IN_FILE_LOG_PARAMETERS, writer);
 
         treeLikelihoodGenerator.writeTreeLikelihoodReferences(writer);
diff --git a/src/dr/app/beauti/generator/OperatorsGenerator.java b/src/dr/app/beauti/generator/OperatorsGenerator.java
index 122df54..2ec427f 100644
--- a/src/dr/app/beauti/generator/OperatorsGenerator.java
+++ b/src/dr/app/beauti/generator/OperatorsGenerator.java
@@ -1,7 +1,7 @@
 /*
  * OperatorsGenerator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/generator/ParameterPriorGenerator.java b/src/dr/app/beauti/generator/ParameterPriorGenerator.java
index 1fbb3bb..5305e29 100644
--- a/src/dr/app/beauti/generator/ParameterPriorGenerator.java
+++ b/src/dr/app/beauti/generator/ParameterPriorGenerator.java
@@ -1,7 +1,7 @@
 /*
- * TreeModelGenerator.java
+ * ParameterPriorGenerator.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/generator/PatternListGenerator.java b/src/dr/app/beauti/generator/PatternListGenerator.java
index 5226f60..a8df6b3 100644
--- a/src/dr/app/beauti/generator/PatternListGenerator.java
+++ b/src/dr/app/beauti/generator/PatternListGenerator.java
@@ -1,3 +1,28 @@
+/*
+ * PatternListGenerator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.generator;
 
 import dr.app.beauti.components.ComponentFactory;
diff --git a/src/dr/app/beauti/generator/STARBEASTGenerator.java b/src/dr/app/beauti/generator/STARBEASTGenerator.java
index 87f7227..2767e49 100644
--- a/src/dr/app/beauti/generator/STARBEASTGenerator.java
+++ b/src/dr/app/beauti/generator/STARBEASTGenerator.java
@@ -1,7 +1,7 @@
 /*
- * MultiSpeciesCoalescentGenerator.java
+ * STARBEASTGenerator.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/generator/SubstitutionModelGenerator.java b/src/dr/app/beauti/generator/SubstitutionModelGenerator.java
index bcecd55..adf9fdc 100644
--- a/src/dr/app/beauti/generator/SubstitutionModelGenerator.java
+++ b/src/dr/app/beauti/generator/SubstitutionModelGenerator.java
@@ -1,7 +1,7 @@
 /*
  * SubstitutionModelGenerator.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/generator/TMRCAStatisticsGenerator.java b/src/dr/app/beauti/generator/TMRCAStatisticsGenerator.java
index c2d725e..5f97604 100644
--- a/src/dr/app/beauti/generator/TMRCAStatisticsGenerator.java
+++ b/src/dr/app/beauti/generator/TMRCAStatisticsGenerator.java
@@ -1,3 +1,28 @@
+/*
+ * TMRCAStatisticsGenerator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.generator;
 
 import dr.app.beauti.components.ComponentFactory;
diff --git a/src/dr/app/beauti/generator/TreeLikelihoodGenerator.java b/src/dr/app/beauti/generator/TreeLikelihoodGenerator.java
index 0df7e81..02107da 100644
--- a/src/dr/app/beauti/generator/TreeLikelihoodGenerator.java
+++ b/src/dr/app/beauti/generator/TreeLikelihoodGenerator.java
@@ -1,7 +1,7 @@
 /*
  * TreeLikelihoodGenerator.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/generator/TreeModelGenerator.java b/src/dr/app/beauti/generator/TreeModelGenerator.java
index e523dee..dbfaac0 100644
--- a/src/dr/app/beauti/generator/TreeModelGenerator.java
+++ b/src/dr/app/beauti/generator/TreeModelGenerator.java
@@ -1,7 +1,7 @@
 /*
  * TreeModelGenerator.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/generator/TreePriorGenerator.java b/src/dr/app/beauti/generator/TreePriorGenerator.java
index fbea29f..ba47a2c 100644
--- a/src/dr/app/beauti/generator/TreePriorGenerator.java
+++ b/src/dr/app/beauti/generator/TreePriorGenerator.java
@@ -1,7 +1,7 @@
 /*
  * TreePriorGenerator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/mcmcpanel/MCMCPanel.java b/src/dr/app/beauti/mcmcpanel/MCMCPanel.java
index 31d5716..8c46880 100644
--- a/src/dr/app/beauti/mcmcpanel/MCMCPanel.java
+++ b/src/dr/app/beauti/mcmcpanel/MCMCPanel.java
@@ -1,7 +1,7 @@
 /*
  * MCMCPanel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
@@ -29,8 +29,8 @@ package dr.app.beauti.mcmcpanel;
 import dr.app.beauti.BeautiFrame;
 import dr.app.beauti.BeautiPanel;
 import dr.app.beauti.components.marginalLikelihoodEstimation.MLEDialog;
+import dr.app.beauti.components.marginalLikelihoodEstimation.MLEGSSDialog;
 import dr.app.beauti.components.marginalLikelihoodEstimation.MarginalLikelihoodEstimationOptions;
-import dr.app.beauti.components.sequenceerror.SequenceErrorModelComponentOptions;
 import dr.app.beauti.options.BeautiOptions;
 import dr.app.beauti.options.PartitionTreeModel;
 import dr.app.beauti.options.STARBEASTOptions;
@@ -62,8 +62,11 @@ public class MCMCPanel extends BeautiPanel {
     WholeNumberField logEveryField = new WholeNumberField(1, Integer.MAX_VALUE);
 
     JCheckBox samplePriorCheckBox = new JCheckBox("Sample from prior only - create empty alignment");
-    JCheckBox performMLE = new JCheckBox("Perform marginal likelihood estimation (MLE) using path sampling/stepping-stone sampling");
+    JComboBox performMLECombo = new JComboBox(new String[] {"None", "path sampling/stepping-stone sampling", "generalized stepping-stone sampling"});
+//    JCheckBox performMLE = new JCheckBox("Perform marginal likelihood estimation (MLE) using path sampling/stepping-stone sampling");
     JButton buttonMLE = new JButton("Settings");
+    //    JCheckBox performMLEGSS = new JCheckBox("Perform marginal likelihood estimation (MLE) using generalized stepping-stone sampling");
+  //  JButton buttonMLEGSS = new JButton("Settings");
 
     public static final String DEFAULT_FILE_NAME_STEM = "untitled";
     JTextField fileNameStemField = new JTextField(DEFAULT_FILE_NAME_STEM);
@@ -80,15 +83,16 @@ public class MCMCPanel extends BeautiPanel {
     JCheckBox substTreeLogCheck = new JCheckBox("Create tree log file with branch length in substitutions:");
     JTextArea substTreeFileNameField = new JTextArea("untitled(subst).trees");
 
-    JCheckBox operatorAnalaysisCheck = new JCheckBox("Create operator analysis file:");
-    JTextArea operatorAnalaysisFileNameField = new JTextArea(DEFAULT_FILE_NAME_STEM + ".ops");
+    JCheckBox operatorAnalysisCheck = new JCheckBox("Create operator analysis file:");
+    JTextArea operatorAnalysisFileNameField = new JTextArea(DEFAULT_FILE_NAME_STEM + ".ops");
 
     BeautiFrame frame = null;
     private final OptionsPanel optionsPanel;
     private BeautiOptions options;
 
     private MLEDialog mleDialog = null;
-    private MarginalLikelihoodEstimationOptions mleOptions;
+    private MLEGSSDialog mleGssDialog = null;
+    private MarginalLikelihoodEstimationOptions mleOptions = new MarginalLikelihoodEstimationOptions();
 
     public MCMCPanel(BeautiFrame parent) {
         setLayout(new BorderLayout());
@@ -235,10 +239,10 @@ public class MCMCPanel extends BeautiPanel {
         substTreeFileNameField.setEnabled(false);
         optionsPanel.addComponentWithLabel("Substitutions trees file name:", substTreeFileNameField);
 
-        optionsPanel.addComponent(operatorAnalaysisCheck);
-        operatorAnalaysisCheck.addActionListener(new java.awt.event.ActionListener() {
+        optionsPanel.addComponent(operatorAnalysisCheck);
+        operatorAnalysisCheck.addActionListener(new java.awt.event.ActionListener() {
             public void actionPerformed(ActionEvent e) {
-                options.operatorAnalysis = operatorAnalaysisCheck.isSelected();
+                options.operatorAnalysis = operatorAnalysisCheck.isSelected();
 
                 updateOtherFileNames(options);
 
@@ -246,10 +250,10 @@ public class MCMCPanel extends BeautiPanel {
             }
         });
 
-        operatorAnalaysisFileNameField.setColumns(32);
-        operatorAnalaysisFileNameField.setEditable(false);
-        operatorAnalaysisFileNameField.setEnabled(false);
-        optionsPanel.addComponentWithLabel("Operator analysis file name:", operatorAnalaysisFileNameField);
+        operatorAnalysisFileNameField.setColumns(32);
+        operatorAnalysisFileNameField.setEditable(false);
+        operatorAnalysisFileNameField.setEnabled(false);
+        optionsPanel.addComponentWithLabel("Operator analysis file name:", operatorAnalysisFileNameField);
 
         optionsPanel.addSeparator();
 
@@ -263,26 +267,35 @@ public class MCMCPanel extends BeautiPanel {
 
         optionsPanel.addSeparator();
 
-        JTextArea mleInfo = new JTextArea("Select the option below to perform marginal likelihoood " +
+        JTextArea mleInfo = new JTextArea("Select the option below to perform marginal likelihood " +
                 "estimation (MLE) using path sampling (PS) / stepping-stone sampling (SS) " +
-                "which performs an additional analysis after the standard MCMC chain has finished.");
+                "or generalized stepping-stone sampling (GSS) which performs an additional" +
+                "analysis after the standard MCMC chain has finished.");
         mleInfo.setColumns(50);
         PanelUtils.setupComponent(mleInfo);
         optionsPanel.addSpanningComponent(mleInfo);
 
-        optionsPanel.addComponent(performMLE);
-        //will be false by default
-        //options.performMLE = false;
+        //add PS/SS button
+        optionsPanel.addComponentWithLabel("Marginal likelihood estimation (MLE):", performMLECombo);
+
         optionsPanel.addComponent(buttonMLE);
         buttonMLE.setEnabled(false);
-        performMLE.addActionListener(new java.awt.event.ActionListener() {
+        performMLECombo.addActionListener(new java.awt.event.ActionListener() {
             public void actionPerformed(ActionEvent e) {
-                if (performMLE.isSelected()) {
+                if (performMLECombo.getSelectedIndex() == 1) {
                     mleOptions.performMLE = true;
                     buttonMLE.setEnabled(true);
                     updateMLEFileNameStem();
+                } else if (performMLECombo.getSelectedIndex() == 2) {
+                    mleOptions.performMLEGSS = true;
+                    //set to true because product of exponentials is the default option
+                    options.logCoalescentEventsStatistic = true;
+                    buttonMLE.setEnabled(true);
+                    updateMLEFileNameStem();
                 } else {
                     mleOptions.performMLE = false;
+                    mleOptions.printOperatorAnalysis = false;
+                    options.logCoalescentEventsStatistic = false;
                     buttonMLE.setEnabled(false);
                 }
             }
@@ -291,7 +304,13 @@ public class MCMCPanel extends BeautiPanel {
             public void actionPerformed(ActionEvent e) {
                 updateMLEFileNameStem();
 
-                int result = mleDialog.showDialog();
+                int result = -1;
+
+                if (performMLECombo.getSelectedIndex() == 1) {
+                   result  = mleDialog.showDialog();
+                } else if (performMLECombo.getSelectedIndex() == 2) {
+                    result = mleGssDialog.showDialog();
+                }
 
                 if (result == -1 || result == JOptionPane.CANCEL_OPTION) {
                     return;
@@ -300,6 +319,52 @@ public class MCMCPanel extends BeautiPanel {
             }
         });
 
+//        JTextArea mleGssInfo = new JTextArea("Select the option below to perform marginal likelihood " +
+//                "estimation (MLE) using generalized stepping-stone sampling (GSS) which " +
+//                "performs an additional analysis after the standard MCMC chain has finished.");
+//        mleGssInfo.setColumns(50);
+//        PanelUtils.setupComponent(mleGssInfo);
+//        optionsPanel.addSpanningComponent(mleGssInfo);
+
+//        //add GSS button
+//        optionsPanel.addComponent(performMLEGSS);
+//        //will be false by default
+//        //options.performMLE = false; ??
+//        optionsPanel.addComponent(buttonMLEGSS);
+//        buttonMLEGSS.setEnabled(false);
+//        performMLEGSS.addActionListener(new java.awt.event.ActionListener() {
+//            public void actionPerformed(ActionEvent e) {
+//                if (performMLEGSS.isSelected()) {
+//                    mleOptions.performMLEGSS = true;
+//                    //set to true because product of exponentials is the default option
+//                    options.logCoalescentEventsStatistic = true;
+//                    buttonMLEGSS.setEnabled(true);
+//                    buttonMLE.setEnabled(false);
+//                    performMLE.setEnabled(false);
+//                    updateMLEFileNameStem();
+//                } else {
+//                    mleOptions.performMLEGSS = false;
+//                    mleOptions.printOperatorAnalysis = false;
+//                    options.logCoalescentEventsStatistic = false;
+//                    buttonMLE.setEnabled(false);
+//                    performMLE.setEnabled(true);
+//                    buttonMLEGSS.setEnabled(false);
+//                }
+//            }
+//        });
+//        buttonMLEGSS.addActionListener(new java.awt.event.ActionListener() {
+//            public void actionPerformed(ActionEvent e) {
+//                updateMLEFileNameStem();
+//
+//                int result = mleGssDialog.showDialog();
+//
+//                if (result == -1 || result == JOptionPane.CANCEL_OPTION) {
+//                    return;
+//                }
+//
+//            }
+//        });
+
 //        logFileNameField.addKeyListener(listener);
 //        treeFileNameField.addKeyListener(listener);
         //mapTreeFileNameField.addKeyListener(listener);
@@ -363,11 +428,27 @@ public class MCMCPanel extends BeautiPanel {
     public void setOptions(BeautiOptions options) {
         this.options = options;
 
+        /*System.err.println("mleOptions: " + mleOptions);
+        System.err.println("options.pathSteps: " + mleOptions.pathSteps);
+        System.err.println("options.mleChainLength: " + mleOptions.mleChainLength);
+        System.err.println("options.mleLogEvery: " + mleOptions.mleLogEvery);*/
+
         // get the MLE options
         mleOptions = (MarginalLikelihoodEstimationOptions)options.getComponentOptions(MarginalLikelihoodEstimationOptions.class);
+        /*if (mleOptions == null) {
+            mleOptions = new MarginalLikelihoodEstimationOptions();
+        }*/
+
+        /*System.err.println("mleOptions: " + mleOptions);
+        System.err.println("options.pathSteps: " + mleOptions.pathSteps);
+        System.err.println("options.mleChainLength: " + mleOptions.mleChainLength);
+        System.err.println("options.mleLogEvery: " + mleOptions.mleLogEvery);*/
 
         if (mleDialog != null) {
-            mleDialog.setOptions(mleOptions);
+            //mleDialog.setOptions(mleOptions);
+        }
+        if (mleGssDialog != null) {
+            //mleGssDialog.setOptions(mleOptions);
         }
 
         chainLengthField.setValue(options.chainLength);
@@ -381,7 +462,7 @@ public class MCMCPanel extends BeautiPanel {
             fileNameStemField.setEnabled(false);
         }
 
-        operatorAnalaysisCheck.setSelected(options.operatorAnalysis);
+        operatorAnalysisCheck.setSelected(options.operatorAnalysis);
 
         updateOtherFileNames(options);
 
@@ -424,11 +505,11 @@ public class MCMCPanel extends BeautiPanel {
             if (addTxt.isSelected()) {
                 options.operatorAnalysisFileName = options.operatorAnalysisFileName + ".txt";
             }
-            operatorAnalaysisFileNameField.setEnabled(options.operatorAnalysis);
+            operatorAnalysisFileNameField.setEnabled(options.operatorAnalysis);
             if (options.operatorAnalysis) {
-                operatorAnalaysisFileNameField.setText(options.operatorAnalysisFileName);
+                operatorAnalysisFileNameField.setText(options.operatorAnalysisFileName);
             } else {
-                operatorAnalaysisFileNameField.setText("");
+                operatorAnalysisFileNameField.setText("");
             }
 
 //            mapTreeLogCheck.setEnabled(true);
@@ -450,8 +531,8 @@ public class MCMCPanel extends BeautiPanel {
             substTreeLogCheck.setSelected(false);
             substTreeFileNameField.setEnabled(false);
             substTreeFileNameField.setText("");
-            operatorAnalaysisCheck.setSelected(false);
-            operatorAnalaysisFileNameField.setText("");
+            operatorAnalysisCheck.setSelected(false);
+            operatorAnalysisFileNameField.setText("");
         }
     }
 
@@ -459,7 +540,11 @@ public class MCMCPanel extends BeautiPanel {
         if (mleDialog == null) {
             mleDialog = new MLEDialog(frame, mleOptions);
         }
+        if (mleGssDialog == null) {
+            mleGssDialog = new MLEGSSDialog(frame, mleOptions, options);
+        }
         mleDialog.setFilenameStem(options.fileNameStem, addTxt.isSelected());
+        mleGssDialog.setFilenameStem(options.fileNameStem, addTxt.isSelected());
     }
 
     public void getOptions(BeautiOptions options) {
@@ -472,13 +557,17 @@ public class MCMCPanel extends BeautiPanel {
         options.substTreeLog = substTreeLogCheck.isSelected();
         updateTreeFileNameList();
 
-        options.operatorAnalysis = operatorAnalaysisCheck.isSelected();
-        options.operatorAnalysisFileName = operatorAnalaysisFileNameField.getText();
+        options.operatorAnalysis = operatorAnalysisCheck.isSelected();
+        options.operatorAnalysisFileName = operatorAnalysisFileNameField.getText();
 
         options.samplePriorOnly = samplePriorCheckBox.isSelected();
 
         if (mleDialog != null) {
-            mleDialog.getOptions(mleOptions);
+            //mleDialog.getOptions(mleOptions);
+        }
+
+        if (mleGssDialog != null) {
+            //mleGssDialog.getOptions(mleOptions);
         }
 
     }
diff --git a/src/dr/app/beauti/operatorspanel/OperatorsPanel.java b/src/dr/app/beauti/operatorspanel/OperatorsPanel.java
index 824bf7b..7960394 100644
--- a/src/dr/app/beauti/operatorspanel/OperatorsPanel.java
+++ b/src/dr/app/beauti/operatorspanel/OperatorsPanel.java
@@ -1,7 +1,7 @@
 /*
  * OperatorsPanel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/options/AbstractPartitionData.java b/src/dr/app/beauti/options/AbstractPartitionData.java
index 90e27f6..07f3c10 100644
--- a/src/dr/app/beauti/options/AbstractPartitionData.java
+++ b/src/dr/app/beauti/options/AbstractPartitionData.java
@@ -1,7 +1,7 @@
 /*
  * AbstractPartitionData.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/options/BeautiOptions.java b/src/dr/app/beauti/options/BeautiOptions.java
index e419a31..9a1186d 100644
--- a/src/dr/app/beauti/options/BeautiOptions.java
+++ b/src/dr/app/beauti/options/BeautiOptions.java
@@ -1,7 +1,7 @@
 /*
  * BeautiOptions.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -35,7 +35,6 @@ import dr.app.beauti.mcmcpanel.MCMCPanel;
 import dr.app.beauti.types.TreePriorType;
 import dr.app.beauti.util.BeautiTemplate;
 import dr.evolution.alignment.Alignment;
-import dr.evolution.alignment.PatternList;
 import dr.evolution.alignment.Patterns;
 import dr.evolution.datatype.DataType;
 import dr.evolution.datatype.Microsatellite;
@@ -1444,4 +1443,6 @@ public class BeautiOptions extends ModelOptions {
 
     public boolean shareMicroSat = true;
 
+    public boolean logCoalescentEventsStatistic = false;
+
 }
\ No newline at end of file
diff --git a/src/dr/app/beauti/options/ClockModelGroup.java b/src/dr/app/beauti/options/ClockModelGroup.java
index 762a526..611c427 100644
--- a/src/dr/app/beauti/options/ClockModelGroup.java
+++ b/src/dr/app/beauti/options/ClockModelGroup.java
@@ -1,3 +1,28 @@
+/*
+ * ClockModelGroup.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.options;
 
 import dr.app.beauti.types.FixRateType;
diff --git a/src/dr/app/beauti/options/ClockModelOptions.java b/src/dr/app/beauti/options/ClockModelOptions.java
index 81ecad2..dc985d5 100644
--- a/src/dr/app/beauti/options/ClockModelOptions.java
+++ b/src/dr/app/beauti/options/ClockModelOptions.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * ClockModelOptions.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/options/ComponentOptions.java b/src/dr/app/beauti/options/ComponentOptions.java
index bdf062e..9677578 100644
--- a/src/dr/app/beauti/options/ComponentOptions.java
+++ b/src/dr/app/beauti/options/ComponentOptions.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * ComponentOptions.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/options/DateGuesser.java b/src/dr/app/beauti/options/DateGuesser.java
index 7deaff6..282ef96 100644
--- a/src/dr/app/beauti/options/DateGuesser.java
+++ b/src/dr/app/beauti/options/DateGuesser.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * DateGuesser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/options/GuessDatesException.java b/src/dr/app/beauti/options/GuessDatesException.java
index cb18ee5..0b8e73a 100644
--- a/src/dr/app/beauti/options/GuessDatesException.java
+++ b/src/dr/app/beauti/options/GuessDatesException.java
@@ -1,3 +1,28 @@
+/*
+ * GuessDatesException.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.options;
 
 /**
diff --git a/src/dr/app/beauti/options/MicrosatelliteOptions.java b/src/dr/app/beauti/options/MicrosatelliteOptions.java
index d369174..e53dbe6 100644
--- a/src/dr/app/beauti/options/MicrosatelliteOptions.java
+++ b/src/dr/app/beauti/options/MicrosatelliteOptions.java
@@ -1,3 +1,28 @@
+/*
+ * MicrosatelliteOptions.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.options;
 
 import dr.app.beauti.types.OperatorType;
diff --git a/src/dr/app/beauti/options/ModelOptions.java b/src/dr/app/beauti/options/ModelOptions.java
index e9c4318..aba755d 100644
--- a/src/dr/app/beauti/options/ModelOptions.java
+++ b/src/dr/app/beauti/options/ModelOptions.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * ModelOptions.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/options/Operator.java b/src/dr/app/beauti/options/Operator.java
index 36b3a15..7fb3f0f 100644
--- a/src/dr/app/beauti/options/Operator.java
+++ b/src/dr/app/beauti/options/Operator.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Operator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/options/Parameter.java b/src/dr/app/beauti/options/Parameter.java
index 46162a1..4abf3f6 100644
--- a/src/dr/app/beauti/options/Parameter.java
+++ b/src/dr/app/beauti/options/Parameter.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Parameter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/options/PartitionClockModel.java b/src/dr/app/beauti/options/PartitionClockModel.java
index 9d9a888..35cd7bc 100644
--- a/src/dr/app/beauti/options/PartitionClockModel.java
+++ b/src/dr/app/beauti/options/PartitionClockModel.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * PartitionClockModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/options/PartitionClockModelSubstModelLink.java b/src/dr/app/beauti/options/PartitionClockModelSubstModelLink.java
index 1d3eeb9..2cfb88c 100644
--- a/src/dr/app/beauti/options/PartitionClockModelSubstModelLink.java
+++ b/src/dr/app/beauti/options/PartitionClockModelSubstModelLink.java
@@ -1,3 +1,28 @@
+/*
+ * PartitionClockModelSubstModelLink.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.options;
 
 import dr.app.beauti.types.OperatorType;
diff --git a/src/dr/app/beauti/options/PartitionClockModelTreeModelLink.java b/src/dr/app/beauti/options/PartitionClockModelTreeModelLink.java
index 1214586..b5891d5 100644
--- a/src/dr/app/beauti/options/PartitionClockModelTreeModelLink.java
+++ b/src/dr/app/beauti/options/PartitionClockModelTreeModelLink.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * PartitionClockModelTreeModelLink.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/options/PartitionData.java b/src/dr/app/beauti/options/PartitionData.java
index 0724133..fe11948 100644
--- a/src/dr/app/beauti/options/PartitionData.java
+++ b/src/dr/app/beauti/options/PartitionData.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * PartitionData.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/options/PartitionOptions.java b/src/dr/app/beauti/options/PartitionOptions.java
index ceba381..bc6acf7 100644
--- a/src/dr/app/beauti/options/PartitionOptions.java
+++ b/src/dr/app/beauti/options/PartitionOptions.java
@@ -1,7 +1,7 @@
 /*
  * PartitionOptions.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/options/PartitionPattern.java b/src/dr/app/beauti/options/PartitionPattern.java
index 28e2926..c724ab0 100644
--- a/src/dr/app/beauti/options/PartitionPattern.java
+++ b/src/dr/app/beauti/options/PartitionPattern.java
@@ -1,3 +1,28 @@
+/*
+ * PartitionPattern.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.options;
 
 import dr.evolution.alignment.Patterns;
diff --git a/src/dr/app/beauti/options/PartitionSubstitutionModel.java b/src/dr/app/beauti/options/PartitionSubstitutionModel.java
index 977b2e5..87c4f1f 100644
--- a/src/dr/app/beauti/options/PartitionSubstitutionModel.java
+++ b/src/dr/app/beauti/options/PartitionSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * PartitionSubstitutionModel.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/options/PartitionTreeModel.java b/src/dr/app/beauti/options/PartitionTreeModel.java
index 5162397..3da06b2 100644
--- a/src/dr/app/beauti/options/PartitionTreeModel.java
+++ b/src/dr/app/beauti/options/PartitionTreeModel.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * PartitionTreeModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/options/PartitionTreePrior.java b/src/dr/app/beauti/options/PartitionTreePrior.java
index fc17095..8b29ec8 100644
--- a/src/dr/app/beauti/options/PartitionTreePrior.java
+++ b/src/dr/app/beauti/options/PartitionTreePrior.java
@@ -1,7 +1,7 @@
 /*
  * PartitionTreePrior.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/options/STARBEASTOptions.java b/src/dr/app/beauti/options/STARBEASTOptions.java
index 36f2c93..c9ff097 100644
--- a/src/dr/app/beauti/options/STARBEASTOptions.java
+++ b/src/dr/app/beauti/options/STARBEASTOptions.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * STARBEASTOptions.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/options/SiteModelOptions.java b/src/dr/app/beauti/options/SiteModelOptions.java
index c5f10e2..bc199d8 100644
--- a/src/dr/app/beauti/options/SiteModelOptions.java
+++ b/src/dr/app/beauti/options/SiteModelOptions.java
@@ -1,3 +1,28 @@
+/*
+ * SiteModelOptions.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.options;
 
 import java.util.List;
diff --git a/src/dr/app/beauti/options/TraitData.java b/src/dr/app/beauti/options/TraitData.java
index 86a396d..c0f5176 100644
--- a/src/dr/app/beauti/options/TraitData.java
+++ b/src/dr/app/beauti/options/TraitData.java
@@ -1,3 +1,28 @@
+/*
+ * TraitData.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.options;
 
 import dr.evolution.datatype.ContinuousDataType;
diff --git a/src/dr/app/beauti/options/TraitGuesser.java b/src/dr/app/beauti/options/TraitGuesser.java
index 08dc8dc..e7a1507 100644
--- a/src/dr/app/beauti/options/TraitGuesser.java
+++ b/src/dr/app/beauti/options/TraitGuesser.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * TraitGuesser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/options/TreeModelOptions.java b/src/dr/app/beauti/options/TreeModelOptions.java
index 3d7136a..188b37d 100644
--- a/src/dr/app/beauti/options/TreeModelOptions.java
+++ b/src/dr/app/beauti/options/TreeModelOptions.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * TreeModelOptions.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/priorsPanel/AbstractPriorDialog.java b/src/dr/app/beauti/priorsPanel/AbstractPriorDialog.java
index 3dcaf45..120ef20 100644
--- a/src/dr/app/beauti/priorsPanel/AbstractPriorDialog.java
+++ b/src/dr/app/beauti/priorsPanel/AbstractPriorDialog.java
@@ -1,3 +1,28 @@
+/*
+ * AbstractPriorDialog.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.priorsPanel;
 
 import dr.app.beauti.options.Parameter;
diff --git a/src/dr/app/beauti/priorsPanel/DefaultPriorTableDialog.java b/src/dr/app/beauti/priorsPanel/DefaultPriorTableDialog.java
index bf450f0..69ff3d4 100644
--- a/src/dr/app/beauti/priorsPanel/DefaultPriorTableDialog.java
+++ b/src/dr/app/beauti/priorsPanel/DefaultPriorTableDialog.java
@@ -1,7 +1,7 @@
 /*
- * PriorDialog.java
+ * DefaultPriorTableDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/priorsPanel/HierarchicalPriorDialog.java b/src/dr/app/beauti/priorsPanel/HierarchicalPriorDialog.java
index 780dee2..2bfa2ce 100644
--- a/src/dr/app/beauti/priorsPanel/HierarchicalPriorDialog.java
+++ b/src/dr/app/beauti/priorsPanel/HierarchicalPriorDialog.java
@@ -1,4 +1,29 @@
 /*
+ * HierarchicalPriorDialog.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
  * PriorDialog.java
  *
  * @author Marc A. Suchard
diff --git a/src/dr/app/beauti/priorsPanel/JointPriorDialog.java b/src/dr/app/beauti/priorsPanel/JointPriorDialog.java
index 632b9a1..30642a9 100644
--- a/src/dr/app/beauti/priorsPanel/JointPriorDialog.java
+++ b/src/dr/app/beauti/priorsPanel/JointPriorDialog.java
@@ -1,4 +1,29 @@
 /*
+ * JointPriorDialog.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
  * PriorDialog.java
  *
  * @author Marc A. Suchard
diff --git a/src/dr/app/beauti/priorsPanel/PriorDialog.java b/src/dr/app/beauti/priorsPanel/PriorDialog.java
index d211f44..75a8ad9 100644
--- a/src/dr/app/beauti/priorsPanel/PriorDialog.java
+++ b/src/dr/app/beauti/priorsPanel/PriorDialog.java
@@ -1,7 +1,7 @@
 /*
  * PriorDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/priorsPanel/PriorOptionsPanel.java b/src/dr/app/beauti/priorsPanel/PriorOptionsPanel.java
index aae9b01..1447b73 100644
--- a/src/dr/app/beauti/priorsPanel/PriorOptionsPanel.java
+++ b/src/dr/app/beauti/priorsPanel/PriorOptionsPanel.java
@@ -1,3 +1,28 @@
+/*
+ * PriorOptionsPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.priorsPanel;
 
 import dr.app.beauti.options.Parameter;
diff --git a/src/dr/app/beauti/priorsPanel/PriorSettingsPanel.java b/src/dr/app/beauti/priorsPanel/PriorSettingsPanel.java
index 95e2c4a..e1c04a4 100644
--- a/src/dr/app/beauti/priorsPanel/PriorSettingsPanel.java
+++ b/src/dr/app/beauti/priorsPanel/PriorSettingsPanel.java
@@ -1,7 +1,7 @@
 /*
- * PriorDialog.java
+ * PriorSettingsPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/priorsPanel/PriorTableModel.java b/src/dr/app/beauti/priorsPanel/PriorTableModel.java
index 98ea77b..26ccdb1 100644
--- a/src/dr/app/beauti/priorsPanel/PriorTableModel.java
+++ b/src/dr/app/beauti/priorsPanel/PriorTableModel.java
@@ -1,3 +1,28 @@
+/*
+ * PriorTableModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.priorsPanel;
 
 import dr.app.beauti.options.Parameter;
diff --git a/src/dr/app/beauti/priorsPanel/PriorsPanel.java b/src/dr/app/beauti/priorsPanel/PriorsPanel.java
index 6c5d448..0e3bc32 100644
--- a/src/dr/app/beauti/priorsPanel/PriorsPanel.java
+++ b/src/dr/app/beauti/priorsPanel/PriorsPanel.java
@@ -1,7 +1,7 @@
 /*
  * PriorsPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/priorsPanel/SelectParametersDialog.java b/src/dr/app/beauti/priorsPanel/SelectParametersDialog.java
index 4e93851..0270b6c 100644
--- a/src/dr/app/beauti/priorsPanel/SelectParametersDialog.java
+++ b/src/dr/app/beauti/priorsPanel/SelectParametersDialog.java
@@ -1,7 +1,7 @@
 /*
- * PriorDialog.java
+ * SelectParametersDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/priorsPanel/SpecialNumberPanel.java b/src/dr/app/beauti/priorsPanel/SpecialNumberPanel.java
index bcc00b7..867e889 100644
--- a/src/dr/app/beauti/priorsPanel/SpecialNumberPanel.java
+++ b/src/dr/app/beauti/priorsPanel/SpecialNumberPanel.java
@@ -1,7 +1,7 @@
 /*
  * SpecialNumberPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/siteModelsPanel/CloneModelDialog.java b/src/dr/app/beauti/siteModelsPanel/CloneModelDialog.java
index ffe3203..5ed180d 100644
--- a/src/dr/app/beauti/siteModelsPanel/CloneModelDialog.java
+++ b/src/dr/app/beauti/siteModelsPanel/CloneModelDialog.java
@@ -1,7 +1,7 @@
 /*
- * CreateModelDialog.java
+ * CloneModelDialog.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/siteModelsPanel/PartitionModelPanel.java b/src/dr/app/beauti/siteModelsPanel/PartitionModelPanel.java
index f9c6344..408eff4 100644
--- a/src/dr/app/beauti/siteModelsPanel/PartitionModelPanel.java
+++ b/src/dr/app/beauti/siteModelsPanel/PartitionModelPanel.java
@@ -1,7 +1,7 @@
 /*
  * PartitionModelPanel.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/siteModelsPanel/SiteModelsPanel.java b/src/dr/app/beauti/siteModelsPanel/SiteModelsPanel.java
index 1d3f9fe..f63dfe0 100644
--- a/src/dr/app/beauti/siteModelsPanel/SiteModelsPanel.java
+++ b/src/dr/app/beauti/siteModelsPanel/SiteModelsPanel.java
@@ -1,7 +1,7 @@
 /*
- * ModelsPanel.java
+ * SiteModelsPanel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/taxonsetspanel/SpeciesSetPanel.java b/src/dr/app/beauti/taxonsetspanel/SpeciesSetPanel.java
index ebce8bf..b1adca2 100644
--- a/src/dr/app/beauti/taxonsetspanel/SpeciesSetPanel.java
+++ b/src/dr/app/beauti/taxonsetspanel/SpeciesSetPanel.java
@@ -1,7 +1,7 @@
 /*
  * SpeciesSetPanel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/taxonsetspanel/TaxonSetPanel.java b/src/dr/app/beauti/taxonsetspanel/TaxonSetPanel.java
index a94d02c..0d35800 100644
--- a/src/dr/app/beauti/taxonsetspanel/TaxonSetPanel.java
+++ b/src/dr/app/beauti/taxonsetspanel/TaxonSetPanel.java
@@ -1,7 +1,7 @@
 /*
  * TaxonSetPanel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/tipdatepanel/GuessDatesDialog.java b/src/dr/app/beauti/tipdatepanel/GuessDatesDialog.java
index fb06201..bb9e7f3 100644
--- a/src/dr/app/beauti/tipdatepanel/GuessDatesDialog.java
+++ b/src/dr/app/beauti/tipdatepanel/GuessDatesDialog.java
@@ -1,7 +1,7 @@
 /*
- * PriorDialog.java
+ * GuessDatesDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -38,6 +38,7 @@ import java.awt.*;
 import java.awt.event.*;
 import java.util.Calendar;
 import java.util.GregorianCalendar;
+import java.util.prefs.Preferences;
 
 /**
  * @author Andrew Rambaut
@@ -46,6 +47,19 @@ import java.util.GregorianCalendar;
  */
 public class GuessDatesDialog {
 
+    public static Preferences PREFS = Preferences.userNodeForPackage(GuessDatesDialog.class);
+    public static final String DELIMIT_RADIO_KEY = "delimitRadio";
+    public static final String ORDER_COMBO_KEY = "orderCombo";
+    public static final String PREFIX_TEXT_KEY = "prefixText";
+    public static final String REGEX_TEXT_KEY = "regexText";
+    public static final String PARSE_RADIO_KEY = "parseRadio";
+    public static final String OFFSET_CHECK_KEY = "offsetCheck";
+    public static final String OFFSET_TEXT_KEY = "offsetText";
+    public static final String UNLESS_CHECK_KEY = "unlessCheck";
+    public static final String UNLESS_TEXT_KEY = "unlessText";
+    public static final String OFFSET2_TEXT_KEY = "offset2Text";
+    public static final String DATE_FORMAT_TEXT_KEY = "dateFormatText";
+
     private JFrame frame;
 
     private final OptionsPanel optionPanel;
@@ -79,11 +93,22 @@ public class GuessDatesDialog {
     public GuessDatesDialog(final JFrame frame) {
         this.frame = frame;
 
+        final int defaultDelimitRadioOption = PREFS.getInt(DELIMIT_RADIO_KEY, 0);
+        final int defaultOrderCombo = PREFS.getInt(ORDER_COMBO_KEY, 0);
+        final String defaultPrefixText = PREFS.get(PREFIX_TEXT_KEY, "");
+        final String defaultRegexText = PREFS.get(REGEX_TEXT_KEY, "");
+        final int defaultParseRadioOption = PREFS.getInt(PARSE_RADIO_KEY, 0);
+        final boolean defaultOffsetCheckOption = PREFS.getBoolean(OFFSET_CHECK_KEY, false);
+        final String defaultOffsetText = PREFS.get(OFFSET_TEXT_KEY, "1900");
+        final boolean defaultUnlessCheckOption = PREFS.getBoolean(UNLESS_CHECK_KEY, false);
+        final String defaultUnlessText = PREFS.get(UNLESS_TEXT_KEY, "16");
+        final String defaultOffset2Text = PREFS.get(OFFSET2_TEXT_KEY, "2000");
+        final String defaultDateFormatText = PREFS.get(DATE_FORMAT_TEXT_KEY, "yyyy-MM-dd");
+
         optionPanel = new OptionsPanel(12, 12);
 
         optionPanel.addLabel("The date is given by a numerical field in the taxon label that is:");
 
-
         optionPanel.addSpanningComponent(orderRadio);
 //        optionPanel.addSeparator();
 
@@ -207,6 +232,33 @@ public class GuessDatesDialog {
         numericalRadio.addItemListener(listener);
         calendarRadio.addItemListener(listener);
         calendar2Radio.addItemListener(listener);
+
+        // set from preferences defaults...
+        switch (defaultDelimitRadioOption) {
+            case 0: orderRadio.setSelected(true); break;
+            case 1: prefixRadio.setSelected(true); break;
+            case 2: regexRadio.setSelected(true); break;
+            default: throw new IllegalArgumentException("unknown radio option");
+        }
+
+        orderCombo.setSelectedIndex(defaultOrderCombo);
+        prefixText.setText(defaultPrefixText);
+        regexText.setText(defaultRegexText);
+
+        switch (defaultParseRadioOption) {
+            case 0: numericalRadio.setSelected(true); break;
+            case 1: calendarRadio.setSelected(true); break;
+            case 2: calendar2Radio.setSelected(true); break;
+            default: throw new IllegalArgumentException("unknown radio option");
+        }
+
+        offsetCheck.setSelected(defaultOffsetCheckOption);
+        offsetText.setText(defaultOffsetText);
+        unlessCheck.setSelected(defaultUnlessCheckOption);
+        unlessText.setText(defaultUnlessText);
+        offset2Text.setText(defaultOffset2Text);
+
+        dateFormatText.setText(defaultDateFormatText);
     }
 
     public int showDialog() {
@@ -228,11 +280,36 @@ public class GuessDatesDialog {
         Integer value = (Integer) optionPane.getValue();
         if (value != null && value != -1) {
             result = value;
+            setPreferencesFromDialog();
         }
 
         return result;
     }
 
+    private void setPreferencesFromDialog() {
+        PREFS.putInt(DELIMIT_RADIO_KEY,
+                (orderRadio.isSelected() ? 0 :
+                        (prefixRadio.isSelected() ? 1 :
+                                (regexRadio.isSelected() ? 2 : -1))));
+
+        PREFS.putInt(ORDER_COMBO_KEY, orderCombo.getSelectedIndex());
+        PREFS.put(PREFIX_TEXT_KEY, prefixText.getText());
+        PREFS.put(REGEX_TEXT_KEY, regexText.getText());
+
+        PREFS.putInt(PARSE_RADIO_KEY,
+                (numericalRadio.isSelected() ? 0 :
+                        (calendarRadio.isSelected() ? 1 :
+                                (calendar2Radio.isSelected() ? 2 : -1))));
+
+        PREFS.putBoolean(OFFSET_CHECK_KEY, offsetCheck.isSelected());
+        PREFS.put(OFFSET_TEXT_KEY, offsetText.getText());
+        PREFS.putBoolean(UNLESS_CHECK_KEY, unlessCheck.isSelected());
+        PREFS.put(UNLESS_TEXT_KEY, unlessText.getText());
+        PREFS.put(OFFSET2_TEXT_KEY, offset2Text.getText());
+
+        PREFS.put(DATE_FORMAT_TEXT_KEY, dateFormatText.getText());
+    }
+
     public void setupGuesser(DateGuesser guesser) {
         guesser.order = orderCombo.getSelectedIndex();
         guesser.fromLast = false;
@@ -276,176 +353,176 @@ public class GuessDatesDialog {
 
     private static final String DATE_FORMAT_HELP =
             "<h4>Date and Time Patterns</h4>\n" +
-            " <p>\n" +
-            " Date and time formats are specified by <em>date and time pattern</em>\n" +
-            " strings.\n" +
-            " Within date and time pattern strings, unquoted letters from\n" +
-            " <code>'A'</code> to <code>'Z'</code> and from <code>'a'</code> to\n" +
-            " <code>'z'</code> are interpreted as pattern letters representing the\n" +
-            " components of a date or time string.\n" +
-            " Text can be quoted using single quotes (<code>'</code>) to avoid\n" +
-            " interpretation.\n" +
-            " <code>\"''\"</code> represents a single quote.\n" +
-            " All other characters are not interpreted; they're simply copied into the\n" +
-            " output string during formatting or matched against the input string\n" +
-            " during parsing.\n" +
-            " <p>\n" +
-            " The following pattern letters are defined (all other characters from\n" +
-            " <code>'A'</code> to <code>'Z'</code> and from <code>'a'</code> to\n" +
-            " <code>'z'</code> are reserved):\n" +
-            " <blockquote>\n" +
-            " <table border=0 cellspacing=3 cellpadding=0 summary=\"Chart shows pattern letters, date/time component, presentation, and examples.\">\n" +
-            "     <tr bgcolor=\"#ccccff\">\n" +
-            "         <th align=left>Letter\n" +
-            "         <th align=left>Date or Time Component\n" +
-            "         <th align=left>Presentation\n" +
-            "         <th align=left>Examples\n" +
-            "     <tr>\n" +
-            "         <td><code>G</code>\n" +
-            "         <td>Era designator\n" +
-            "         <td><a href=\"#text\">Text</a>\n" +
-            "         <td><code>AD</code>\n" +
-            "     <tr bgcolor=\"#eeeeff\">\n" +
-            "         <td><code>y</code>\n" +
-            "         <td>Year\n" +
-            "         <td><a href=\"#year\">Year</a>\n" +
-            "         <td><code>1996</code>; <code>96</code>\n" +
-            "     <tr>\n" +
-            "         <td><code>M</code>\n" +
-            "         <td>Month in year\n" +
-            "         <td><a href=\"#month\">Month</a>\n" +
-            "         <td><code>July</code>; <code>Jul</code>; <code>07</code>\n" +
-            "     <tr bgcolor=\"#eeeeff\">\n" +
-            "         <td><code>w</code>\n" +
-            "         <td>Week in year\n" +
-            "         <td><a href=\"#number\">Number</a>\n" +
-            "         <td><code>27</code>\n" +
-            "     <tr>\n" +
-            "         <td><code>W</code>\n" +
-            "         <td>Week in month\n" +
-            "         <td><a href=\"#number\">Number</a>\n" +
-            "         <td><code>2</code>\n" +
-            "     <tr bgcolor=\"#eeeeff\">\n" +
-            "         <td><code>D</code>\n" +
-            "         <td>Day in year\n" +
-            "         <td><a href=\"#number\">Number</a>\n" +
-            "         <td><code>189</code>\n" +
-            "     <tr>\n" +
-            "         <td><code>d</code>\n" +
-            "         <td>Day in month\n" +
-            "         <td><a href=\"#number\">Number</a>\n" +
-            "         <td><code>10</code>\n" +
-            "     <tr bgcolor=\"#eeeeff\">\n" +
-            "         <td><code>F</code>\n" +
-            "         <td>Day of week in month\n" +
-            "         <td><a href=\"#number\">Number</a>\n" +
-            "         <td><code>2</code>\n" +
-            "     <tr>\n" +
-            "         <td><code>E</code>\n" +
-            "         <td>Day in week\n" +
-            "         <td><a href=\"#text\">Text</a>\n" +
-            "         <td><code>Tuesday</code>; <code>Tue</code>\n" +
-            "     <tr bgcolor=\"#eeeeff\">\n" +
-            "         <td><code>a</code>\n" +
-            "         <td>Am/pm marker\n" +
-            "         <td><a href=\"#text\">Text</a>\n" +
-            "         <td><code>PM</code>\n" +
-            "     <tr>\n" +
-            "         <td><code>H</code>\n" +
-            "         <td>Hour in day (0-23)\n" +
-            "         <td><a href=\"#number\">Number</a>\n" +
-            "         <td><code>0</code>\n" +
-            "     <tr bgcolor=\"#eeeeff\">\n" +
-            "         <td><code>k</code>\n" +
-            "         <td>Hour in day (1-24)\n" +
-            "         <td><a href=\"#number\">Number</a>\n" +
-            "         <td><code>24</code>\n" +
-            "     <tr>\n" +
-            "         <td><code>K</code>\n" +
-            "         <td>Hour in am/pm (0-11)\n" +
-            "         <td><a href=\"#number\">Number</a>\n" +
-            "         <td><code>0</code>\n" +
-            "     <tr bgcolor=\"#eeeeff\">\n" +
-            "         <td><code>h</code>\n" +
-            "         <td>Hour in am/pm (1-12)\n" +
-            "         <td><a href=\"#number\">Number</a>\n" +
-            "         <td><code>12</code>\n" +
-            "     <tr>\n" +
-            "         <td><code>m</code>\n" +
-            "         <td>Minute in hour\n" +
-            "         <td><a href=\"#number\">Number</a>\n" +
-            "         <td><code>30</code>\n" +
-            "     <tr bgcolor=\"#eeeeff\">\n" +
-            "         <td><code>s</code>\n" +
-            "         <td>Second in minute\n" +
-            "         <td><a href=\"#number\">Number</a>\n" +
-            "         <td><code>55</code>\n" +
-            "     <tr>\n" +
-            "         <td><code>S</code>\n" +
-            "         <td>Millisecond\n" +
-            "         <td><a href=\"#number\">Number</a>\n" +
-            "         <td><code>978</code>\n" +
-            "     <tr bgcolor=\"#eeeeff\">\n" +
-            "         <td><code>z</code>\n" +
-            "         <td>Time zone\n" +
-            "         <td><a href=\"#timezone\">General time zone</a>\n" +
-            "         <td><code>Pacific Standard Time</code>; <code>PST</code>; <code>GMT-08:00</code>\n" +
-            "     <tr>\n" +
-            "         <td><code>Z</code>\n" +
-            "         <td>Time zone\n" +
-            "         <td><a href=\"#rfc822timezone\">RFC 822 time zone</a>\n" +
-            "         <td><code>-0800</code>\n" +
-            " </table>\n" +
-            " </blockquote>\n" +
-            " Pattern letters are usually repeated, as their number determines the\n" +
-            " exact presentation:\n" +
-            " <ul>\n" +
-            " <li><strong><a name=\"text\">Text:</a></strong>\n" +
-            "     For formatting, if the number of pattern letters is 4 or more,\n" +
-            "     the full form is used; otherwise a short or abbreviated form\n" +
-            "     is used if available.\n" +
-            "     For parsing, both forms are accepted, independent of the number\n" +
-            "     of pattern letters.\n" +
-            " <li><strong><a name=\"number\">Number:</a></strong>\n" +
-            "     For formatting, the number of pattern letters is the minimum\n" +
-            "     number of digits, and shorter numbers are zero-padded to this amount.\n" +
-            "     For parsing, the number of pattern letters is ignored unless\n" +
-            "     it's needed to separate two adjacent fields.\n" +
-            " <li><strong><a name=\"year\">Year:</a></strong>\n" +
-            "     If the formatter's <A HREF=\"../../java/text/DateFormat.html#getCalendar()\"><CODE>Calendar</CODE></A> is the Gregorian\n" +
-            "     calendar, the following rules are applied.<br>\n" +
-            "     <ul>\n" +
-            "     <li>For formatting, if the number of pattern letters is 2, the year\n" +
-            "         is truncated to 2 digits; otherwise it is interpreted as a\n" +
-            "         <a href=\"#number\">number</a>.\n" +
-            "     <li>For parsing, if the number of pattern letters is more than 2,\n" +
-            "         the year is interpreted literally, regardless of the number of\n" +
-            "         digits. So using the pattern \"MM/dd/yyyy\", \"01/11/12\" parses to\n" +
-            "         Jan 11, 12 A.D.\n" +
-            "     <li>For parsing with the abbreviated year pattern (\"y\" or \"yy\"),\n" +
-            "         <code>SimpleDateFormat</code> must interpret the abbreviated year\n" +
-            "         relative to some century.  It does this by adjusting dates to be\n" +
-            "         within 80 years before and 20 years after the time the <code>SimpleDateFormat</code>\n" +
-            "         instance is created. For example, using a pattern of \"MM/dd/yy\" and a\n" +
-            "         <code>SimpleDateFormat</code> instance created on Jan 1, 1997,  the string\n" +
-            "         \"01/11/12\" would be interpreted as Jan 11, 2012 while the string \"05/04/64\"\n" +
-            "         would be interpreted as May 4, 1964.\n" +
-            "         During parsing, only strings consisting of exactly two digits, as defined by\n" +
-            "         <A HREF=\"../../java/lang/Character.html#isDigit(char)\"><CODE>Character.isDigit(char)</CODE></A>, will be parsed into the default century.\n" +
-            "         Any other numeric string, such as a one digit string, a three or more digit\n" +
-            "         string, or a two digit string that isn't all digits (for example, \"-1\"), is\n" +
-            "         interpreted literally.  So \"01/02/3\" or \"01/02/003\" are parsed, using the\n" +
-            "         same pattern, as Jan 2, 3 AD.  Likewise, \"01/02/-3\" is parsed as Jan 2, 4 BC.\n" +
-            "     </ul>\n" +
-            "     Otherwise, calendar system specific forms are applied.\n" +
-            "     For both formatting and parsing, if the number of pattern\n" +
-            "     letters is 4 or more, a calendar specific <A HREF=\"../../java/util/Calendar.html#LONG\">long form</A> is used. Otherwise, a calendar\n" +
-            "     specific <A HREF=\"../../java/util/Calendar.html#SHORT\">short or abbreviated form</A>\n" +
-            "     is used.\n" +
-            " <li><strong><a name=\"month\">Month:</a></strong>\n" +
-            "     If the number of pattern letters is 3 or more, the month is\n" +
-            "     interpreted as <a href=\"#text\">text</a>; otherwise,\n" +
-            "     it is interpreted as a <a href=\"#number\">number</a>.\n" +
-            " </ul>";
+                    " <p>\n" +
+                    " Date and time formats are specified by <em>date and time pattern</em>\n" +
+                    " strings.\n" +
+                    " Within date and time pattern strings, unquoted letters from\n" +
+                    " <code>'A'</code> to <code>'Z'</code> and from <code>'a'</code> to\n" +
+                    " <code>'z'</code> are interpreted as pattern letters representing the\n" +
+                    " components of a date or time string.\n" +
+                    " Text can be quoted using single quotes (<code>'</code>) to avoid\n" +
+                    " interpretation.\n" +
+                    " <code>\"''\"</code> represents a single quote.\n" +
+                    " All other characters are not interpreted; they're simply copied into the\n" +
+                    " output string during formatting or matched against the input string\n" +
+                    " during parsing.\n" +
+                    " <p>\n" +
+                    " The following pattern letters are defined (all other characters from\n" +
+                    " <code>'A'</code> to <code>'Z'</code> and from <code>'a'</code> to\n" +
+                    " <code>'z'</code> are reserved):\n" +
+                    " <blockquote>\n" +
+                    " <table border=0 cellspacing=3 cellpadding=0 summary=\"Chart shows pattern letters, date/time component, presentation, and examples.\">\n" +
+                    "     <tr bgcolor=\"#ccccff\">\n" +
+                    "         <th align=left>Letter\n" +
+                    "         <th align=left>Date or Time Component\n" +
+                    "         <th align=left>Presentation\n" +
+                    "         <th align=left>Examples\n" +
+                    "     <tr>\n" +
+                    "         <td><code>G</code>\n" +
+                    "         <td>Era designator\n" +
+                    "         <td><a href=\"#text\">Text</a>\n" +
+                    "         <td><code>AD</code>\n" +
+                    "     <tr bgcolor=\"#eeeeff\">\n" +
+                    "         <td><code>y</code>\n" +
+                    "         <td>Year\n" +
+                    "         <td><a href=\"#year\">Year</a>\n" +
+                    "         <td><code>1996</code>; <code>96</code>\n" +
+                    "     <tr>\n" +
+                    "         <td><code>M</code>\n" +
+                    "         <td>Month in year\n" +
+                    "         <td><a href=\"#month\">Month</a>\n" +
+                    "         <td><code>July</code>; <code>Jul</code>; <code>07</code>\n" +
+                    "     <tr bgcolor=\"#eeeeff\">\n" +
+                    "         <td><code>w</code>\n" +
+                    "         <td>Week in year\n" +
+                    "         <td><a href=\"#number\">Number</a>\n" +
+                    "         <td><code>27</code>\n" +
+                    "     <tr>\n" +
+                    "         <td><code>W</code>\n" +
+                    "         <td>Week in month\n" +
+                    "         <td><a href=\"#number\">Number</a>\n" +
+                    "         <td><code>2</code>\n" +
+                    "     <tr bgcolor=\"#eeeeff\">\n" +
+                    "         <td><code>D</code>\n" +
+                    "         <td>Day in year\n" +
+                    "         <td><a href=\"#number\">Number</a>\n" +
+                    "         <td><code>189</code>\n" +
+                    "     <tr>\n" +
+                    "         <td><code>d</code>\n" +
+                    "         <td>Day in month\n" +
+                    "         <td><a href=\"#number\">Number</a>\n" +
+                    "         <td><code>10</code>\n" +
+                    "     <tr bgcolor=\"#eeeeff\">\n" +
+                    "         <td><code>F</code>\n" +
+                    "         <td>Day of week in month\n" +
+                    "         <td><a href=\"#number\">Number</a>\n" +
+                    "         <td><code>2</code>\n" +
+                    "     <tr>\n" +
+                    "         <td><code>E</code>\n" +
+                    "         <td>Day in week\n" +
+                    "         <td><a href=\"#text\">Text</a>\n" +
+                    "         <td><code>Tuesday</code>; <code>Tue</code>\n" +
+                    "     <tr bgcolor=\"#eeeeff\">\n" +
+                    "         <td><code>a</code>\n" +
+                    "         <td>Am/pm marker\n" +
+                    "         <td><a href=\"#text\">Text</a>\n" +
+                    "         <td><code>PM</code>\n" +
+                    "     <tr>\n" +
+                    "         <td><code>H</code>\n" +
+                    "         <td>Hour in day (0-23)\n" +
+                    "         <td><a href=\"#number\">Number</a>\n" +
+                    "         <td><code>0</code>\n" +
+                    "     <tr bgcolor=\"#eeeeff\">\n" +
+                    "         <td><code>k</code>\n" +
+                    "         <td>Hour in day (1-24)\n" +
+                    "         <td><a href=\"#number\">Number</a>\n" +
+                    "         <td><code>24</code>\n" +
+                    "     <tr>\n" +
+                    "         <td><code>K</code>\n" +
+                    "         <td>Hour in am/pm (0-11)\n" +
+                    "         <td><a href=\"#number\">Number</a>\n" +
+                    "         <td><code>0</code>\n" +
+                    "     <tr bgcolor=\"#eeeeff\">\n" +
+                    "         <td><code>h</code>\n" +
+                    "         <td>Hour in am/pm (1-12)\n" +
+                    "         <td><a href=\"#number\">Number</a>\n" +
+                    "         <td><code>12</code>\n" +
+                    "     <tr>\n" +
+                    "         <td><code>m</code>\n" +
+                    "         <td>Minute in hour\n" +
+                    "         <td><a href=\"#number\">Number</a>\n" +
+                    "         <td><code>30</code>\n" +
+                    "     <tr bgcolor=\"#eeeeff\">\n" +
+                    "         <td><code>s</code>\n" +
+                    "         <td>Second in minute\n" +
+                    "         <td><a href=\"#number\">Number</a>\n" +
+                    "         <td><code>55</code>\n" +
+                    "     <tr>\n" +
+                    "         <td><code>S</code>\n" +
+                    "         <td>Millisecond\n" +
+                    "         <td><a href=\"#number\">Number</a>\n" +
+                    "         <td><code>978</code>\n" +
+                    "     <tr bgcolor=\"#eeeeff\">\n" +
+                    "         <td><code>z</code>\n" +
+                    "         <td>Time zone\n" +
+                    "         <td><a href=\"#timezone\">General time zone</a>\n" +
+                    "         <td><code>Pacific Standard Time</code>; <code>PST</code>; <code>GMT-08:00</code>\n" +
+                    "     <tr>\n" +
+                    "         <td><code>Z</code>\n" +
+                    "         <td>Time zone\n" +
+                    "         <td><a href=\"#rfc822timezone\">RFC 822 time zone</a>\n" +
+                    "         <td><code>-0800</code>\n" +
+                    " </table>\n" +
+                    " </blockquote>\n" +
+                    " Pattern letters are usually repeated, as their number determines the\n" +
+                    " exact presentation:\n" +
+                    " <ul>\n" +
+                    " <li><strong><a name=\"text\">Text:</a></strong>\n" +
+                    "     For formatting, if the number of pattern letters is 4 or more,\n" +
+                    "     the full form is used; otherwise a short or abbreviated form\n" +
+                    "     is used if available.\n" +
+                    "     For parsing, both forms are accepted, independent of the number\n" +
+                    "     of pattern letters.\n" +
+                    " <li><strong><a name=\"number\">Number:</a></strong>\n" +
+                    "     For formatting, the number of pattern letters is the minimum\n" +
+                    "     number of digits, and shorter numbers are zero-padded to this amount.\n" +
+                    "     For parsing, the number of pattern letters is ignored unless\n" +
+                    "     it's needed to separate two adjacent fields.\n" +
+                    " <li><strong><a name=\"year\">Year:</a></strong>\n" +
+                    "     If the formatter's <A HREF=\"../../java/text/DateFormat.html#getCalendar()\"><CODE>Calendar</CODE></A> is the Gregorian\n" +
+                    "     calendar, the following rules are applied.<br>\n" +
+                    "     <ul>\n" +
+                    "     <li>For formatting, if the number of pattern letters is 2, the year\n" +
+                    "         is truncated to 2 digits; otherwise it is interpreted as a\n" +
+                    "         <a href=\"#number\">number</a>.\n" +
+                    "     <li>For parsing, if the number of pattern letters is more than 2,\n" +
+                    "         the year is interpreted literally, regardless of the number of\n" +
+                    "         digits. So using the pattern \"MM/dd/yyyy\", \"01/11/12\" parses to\n" +
+                    "         Jan 11, 12 A.D.\n" +
+                    "     <li>For parsing with the abbreviated year pattern (\"y\" or \"yy\"),\n" +
+                    "         <code>SimpleDateFormat</code> must interpret the abbreviated year\n" +
+                    "         relative to some century.  It does this by adjusting dates to be\n" +
+                    "         within 80 years before and 20 years after the time the <code>SimpleDateFormat</code>\n" +
+                    "         instance is created. For example, using a pattern of \"MM/dd/yy\" and a\n" +
+                    "         <code>SimpleDateFormat</code> instance created on Jan 1, 1997,  the string\n" +
+                    "         \"01/11/12\" would be interpreted as Jan 11, 2012 while the string \"05/04/64\"\n" +
+                    "         would be interpreted as May 4, 1964.\n" +
+                    "         During parsing, only strings consisting of exactly two digits, as defined by\n" +
+                    "         <A HREF=\"../../java/lang/Character.html#isDigit(char)\"><CODE>Character.isDigit(char)</CODE></A>, will be parsed into the default century.\n" +
+                    "         Any other numeric string, such as a one digit string, a three or more digit\n" +
+                    "         string, or a two digit string that isn't all digits (for example, \"-1\"), is\n" +
+                    "         interpreted literally.  So \"01/02/3\" or \"01/02/003\" are parsed, using the\n" +
+                    "         same pattern, as Jan 2, 3 AD.  Likewise, \"01/02/-3\" is parsed as Jan 2, 4 BC.\n" +
+                    "     </ul>\n" +
+                    "     Otherwise, calendar system specific forms are applied.\n" +
+                    "     For both formatting and parsing, if the number of pattern\n" +
+                    "     letters is 4 or more, a calendar specific <A HREF=\"../../java/util/Calendar.html#LONG\">long form</A> is used. Otherwise, a calendar\n" +
+                    "     specific <A HREF=\"../../java/util/Calendar.html#SHORT\">short or abbreviated form</A>\n" +
+                    "     is used.\n" +
+                    " <li><strong><a name=\"month\">Month:</a></strong>\n" +
+                    "     If the number of pattern letters is 3 or more, the month is\n" +
+                    "     interpreted as <a href=\"#text\">text</a>; otherwise,\n" +
+                    "     it is interpreted as a <a href=\"#number\">number</a>.\n" +
+                    " </ul>";
 
 }
\ No newline at end of file
diff --git a/src/dr/app/beauti/tipdatepanel/SetValueDialog.java b/src/dr/app/beauti/tipdatepanel/SetValueDialog.java
index 89a794e..fa4ece9 100644
--- a/src/dr/app/beauti/tipdatepanel/SetValueDialog.java
+++ b/src/dr/app/beauti/tipdatepanel/SetValueDialog.java
@@ -1,7 +1,7 @@
 /*
- * GuessTraitDialog.java
+ * SetValueDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/tipdatepanel/TipDatesPanel.java b/src/dr/app/beauti/tipdatepanel/TipDatesPanel.java
index 8061c0a..c67d0ef 100644
--- a/src/dr/app/beauti/tipdatepanel/TipDatesPanel.java
+++ b/src/dr/app/beauti/tipdatepanel/TipDatesPanel.java
@@ -1,7 +1,7 @@
 /*
  * TipDatesPanel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/traitspanel/CreateTraitDialog.java b/src/dr/app/beauti/traitspanel/CreateTraitDialog.java
index e3b04f9..1b2015e 100644
--- a/src/dr/app/beauti/traitspanel/CreateTraitDialog.java
+++ b/src/dr/app/beauti/traitspanel/CreateTraitDialog.java
@@ -1,7 +1,7 @@
 /*
- * PriorDialog.java
+ * CreateTraitDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/traitspanel/GuessTraitDialog.java b/src/dr/app/beauti/traitspanel/GuessTraitDialog.java
index ac34b2c..8d8a130 100644
--- a/src/dr/app/beauti/traitspanel/GuessTraitDialog.java
+++ b/src/dr/app/beauti/traitspanel/GuessTraitDialog.java
@@ -1,7 +1,7 @@
 /*
  * GuessTraitDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/traitspanel/GuessTraitException.java b/src/dr/app/beauti/traitspanel/GuessTraitException.java
index d457b82..cae385c 100644
--- a/src/dr/app/beauti/traitspanel/GuessTraitException.java
+++ b/src/dr/app/beauti/traitspanel/GuessTraitException.java
@@ -1,3 +1,28 @@
+/*
+ * GuessTraitException.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.traitspanel;
 
 /**
diff --git a/src/dr/app/beauti/traitspanel/TraitValueDialog.java b/src/dr/app/beauti/traitspanel/TraitValueDialog.java
index 20c0fc7..3f39268 100644
--- a/src/dr/app/beauti/traitspanel/TraitValueDialog.java
+++ b/src/dr/app/beauti/traitspanel/TraitValueDialog.java
@@ -1,7 +1,7 @@
 /*
- * GuessTraitDialog.java
+ * TraitValueDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/traitspanel/TraitsPanel.java b/src/dr/app/beauti/traitspanel/TraitsPanel.java
index 597dd2c..2fa8755 100644
--- a/src/dr/app/beauti/traitspanel/TraitsPanel.java
+++ b/src/dr/app/beauti/traitspanel/TraitsPanel.java
@@ -1,7 +1,7 @@
 /*
  * TraitsPanel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/treespanel/GenerateTreeDialog.java b/src/dr/app/beauti/treespanel/GenerateTreeDialog.java
index d94e276..65bad5b 100644
--- a/src/dr/app/beauti/treespanel/GenerateTreeDialog.java
+++ b/src/dr/app/beauti/treespanel/GenerateTreeDialog.java
@@ -1,7 +1,7 @@
 /*
- * PriorDialog.java
+ * GenerateTreeDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/treespanel/OldTreesPanel.java b/src/dr/app/beauti/treespanel/OldTreesPanel.java
index 24e5d5b..026420c 100644
--- a/src/dr/app/beauti/treespanel/OldTreesPanel.java
+++ b/src/dr/app/beauti/treespanel/OldTreesPanel.java
@@ -1,7 +1,7 @@
 /*
- * PriorsPanel.java
+ * OldTreesPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/treespanel/PartitionTreeModelPanel.java b/src/dr/app/beauti/treespanel/PartitionTreeModelPanel.java
index 223a9a0..e3df2e9 100644
--- a/src/dr/app/beauti/treespanel/PartitionTreeModelPanel.java
+++ b/src/dr/app/beauti/treespanel/PartitionTreeModelPanel.java
@@ -1,7 +1,7 @@
 /*
- * PriorsPanel.java
+ * PartitionTreeModelPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/treespanel/PartitionTreePriorPanel.java b/src/dr/app/beauti/treespanel/PartitionTreePriorPanel.java
index 131d4af..3eed383 100644
--- a/src/dr/app/beauti/treespanel/PartitionTreePriorPanel.java
+++ b/src/dr/app/beauti/treespanel/PartitionTreePriorPanel.java
@@ -1,7 +1,7 @@
 /*
  * PartitionTreePriorPanel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/treespanel/SpeciesTreesPanel.java b/src/dr/app/beauti/treespanel/SpeciesTreesPanel.java
index f170cf7..c26f5ec 100644
--- a/src/dr/app/beauti/treespanel/SpeciesTreesPanel.java
+++ b/src/dr/app/beauti/treespanel/SpeciesTreesPanel.java
@@ -1,7 +1,7 @@
 /*
  * SpeciesTreesPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/treespanel/TreeDisplayPanel.java b/src/dr/app/beauti/treespanel/TreeDisplayPanel.java
index ffa72e6..f739a87 100644
--- a/src/dr/app/beauti/treespanel/TreeDisplayPanel.java
+++ b/src/dr/app/beauti/treespanel/TreeDisplayPanel.java
@@ -1,7 +1,7 @@
 /*
- * PriorsPanel.java
+ * TreeDisplayPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/treespanel/TreesPanel.java b/src/dr/app/beauti/treespanel/TreesPanel.java
index 4aa55b6..36ab186 100644
--- a/src/dr/app/beauti/treespanel/TreesPanel.java
+++ b/src/dr/app/beauti/treespanel/TreesPanel.java
@@ -1,7 +1,7 @@
 /*
- * ModelPanel.java
+ * TreesPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/types/BinaryModelType.java b/src/dr/app/beauti/types/BinaryModelType.java
index a923831..d7f594a 100644
--- a/src/dr/app/beauti/types/BinaryModelType.java
+++ b/src/dr/app/beauti/types/BinaryModelType.java
@@ -1,7 +1,7 @@
 /*
  * BinaryModelType.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/types/ClockDistributionType.java b/src/dr/app/beauti/types/ClockDistributionType.java
index 28437f2..d6eb91b 100644
--- a/src/dr/app/beauti/types/ClockDistributionType.java
+++ b/src/dr/app/beauti/types/ClockDistributionType.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * ClockDistributionType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/types/ClockType.java b/src/dr/app/beauti/types/ClockType.java
index 9c393ab..f8b2ade 100644
--- a/src/dr/app/beauti/types/ClockType.java
+++ b/src/dr/app/beauti/types/ClockType.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * ClockType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/types/FixRateType.java b/src/dr/app/beauti/types/FixRateType.java
index e7c728d..7352f45 100644
--- a/src/dr/app/beauti/types/FixRateType.java
+++ b/src/dr/app/beauti/types/FixRateType.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * FixRateType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/types/FrequencyPolicyType.java b/src/dr/app/beauti/types/FrequencyPolicyType.java
index 605abdc..b9c6b6e 100644
--- a/src/dr/app/beauti/types/FrequencyPolicyType.java
+++ b/src/dr/app/beauti/types/FrequencyPolicyType.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * FrequencyPolicyType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/types/HierarchicalModelType.java b/src/dr/app/beauti/types/HierarchicalModelType.java
index 36d35f0..613500b 100644
--- a/src/dr/app/beauti/types/HierarchicalModelType.java
+++ b/src/dr/app/beauti/types/HierarchicalModelType.java
@@ -1,3 +1,28 @@
+/*
+ * HierarchicalModelType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.types;
 
 /**
diff --git a/src/dr/app/beauti/types/MicroSatModelType.java b/src/dr/app/beauti/types/MicroSatModelType.java
index 22e9676..05f28e6 100644
--- a/src/dr/app/beauti/types/MicroSatModelType.java
+++ b/src/dr/app/beauti/types/MicroSatModelType.java
@@ -1,3 +1,28 @@
+/*
+ * MicroSatModelType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.types;
 
 /**
diff --git a/src/dr/app/beauti/types/OldClockType.java b/src/dr/app/beauti/types/OldClockType.java
index 0361ccc..ed73f6c 100644
--- a/src/dr/app/beauti/types/OldClockType.java
+++ b/src/dr/app/beauti/types/OldClockType.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * OldClockType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/types/OperatorType.java b/src/dr/app/beauti/types/OperatorType.java
index bc065bb..b8ad47f 100644
--- a/src/dr/app/beauti/types/OperatorType.java
+++ b/src/dr/app/beauti/types/OperatorType.java
@@ -1,7 +1,7 @@
 /*
  * OperatorType.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/types/ParameterFlavour.java b/src/dr/app/beauti/types/ParameterFlavour.java
index 38d8cbb..a15ef6a 100644
--- a/src/dr/app/beauti/types/ParameterFlavour.java
+++ b/src/dr/app/beauti/types/ParameterFlavour.java
@@ -1,3 +1,28 @@
+/*
+ * ParameterFlavour.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.types;
 
 /**
diff --git a/src/dr/app/beauti/types/PopulationSizeModelType.java b/src/dr/app/beauti/types/PopulationSizeModelType.java
index e985eb1..fbcccb5 100644
--- a/src/dr/app/beauti/types/PopulationSizeModelType.java
+++ b/src/dr/app/beauti/types/PopulationSizeModelType.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * PopulationSizeModelType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/types/PriorScaleType.java b/src/dr/app/beauti/types/PriorScaleType.java
index 7ec27ed..e42fe7b 100644
--- a/src/dr/app/beauti/types/PriorScaleType.java
+++ b/src/dr/app/beauti/types/PriorScaleType.java
@@ -1,7 +1,7 @@
 /*
  * PriorScaleType.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/types/PriorType.java b/src/dr/app/beauti/types/PriorType.java
index 69d41de..1fe4751 100644
--- a/src/dr/app/beauti/types/PriorType.java
+++ b/src/dr/app/beauti/types/PriorType.java
@@ -1,3 +1,28 @@
+/*
+ * PriorType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.types;
 
 import dr.app.beauti.options.Parameter;
diff --git a/src/dr/app/beauti/types/RelativeRatesType.java b/src/dr/app/beauti/types/RelativeRatesType.java
index ff8df65..88a26ce 100644
--- a/src/dr/app/beauti/types/RelativeRatesType.java
+++ b/src/dr/app/beauti/types/RelativeRatesType.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * RelativeRatesType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/types/SequenceErrorType.java b/src/dr/app/beauti/types/SequenceErrorType.java
index 9f509d6..033eb96 100644
--- a/src/dr/app/beauti/types/SequenceErrorType.java
+++ b/src/dr/app/beauti/types/SequenceErrorType.java
@@ -1,3 +1,28 @@
+/*
+ * SequenceErrorType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.types;
 
 /**
diff --git a/src/dr/app/beauti/types/StartingTreeType.java b/src/dr/app/beauti/types/StartingTreeType.java
index 3fe46d5..a34756e 100644
--- a/src/dr/app/beauti/types/StartingTreeType.java
+++ b/src/dr/app/beauti/types/StartingTreeType.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * StartingTreeType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/types/TipDateSamplingType.java b/src/dr/app/beauti/types/TipDateSamplingType.java
index 45ebb03..d7ff94b 100644
--- a/src/dr/app/beauti/types/TipDateSamplingType.java
+++ b/src/dr/app/beauti/types/TipDateSamplingType.java
@@ -1,3 +1,28 @@
+/*
+ * TipDateSamplingType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.types;
 
 /**
diff --git a/src/dr/app/beauti/types/TreePriorParameterizationType.java b/src/dr/app/beauti/types/TreePriorParameterizationType.java
index b251fc6..635f8c6 100644
--- a/src/dr/app/beauti/types/TreePriorParameterizationType.java
+++ b/src/dr/app/beauti/types/TreePriorParameterizationType.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * TreePriorParameterizationType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/types/TreePriorType.java b/src/dr/app/beauti/types/TreePriorType.java
index 5a36b52..289104f 100644
--- a/src/dr/app/beauti/types/TreePriorType.java
+++ b/src/dr/app/beauti/types/TreePriorType.java
@@ -1,7 +1,7 @@
 /*
  * TreePriorType.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/util/BEAUTiImporter.java b/src/dr/app/beauti/util/BEAUTiImporter.java
index 1896568..7e66257 100644
--- a/src/dr/app/beauti/util/BEAUTiImporter.java
+++ b/src/dr/app/beauti/util/BEAUTiImporter.java
@@ -1,7 +1,7 @@
 /*
  * BEAUTiImporter.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/util/BeastImporter.java b/src/dr/app/beauti/util/BeastImporter.java
index 9c269c0..14ea91c 100644
--- a/src/dr/app/beauti/util/BeastImporter.java
+++ b/src/dr/app/beauti/util/BeastImporter.java
@@ -1,3 +1,28 @@
+/*
+ * BeastImporter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.util;
 
 import dr.evolution.alignment.Alignment;
diff --git a/src/dr/app/beauti/util/BeautiTemplate.java b/src/dr/app/beauti/util/BeautiTemplate.java
index cfafa23..a13ac08 100644
--- a/src/dr/app/beauti/util/BeautiTemplate.java
+++ b/src/dr/app/beauti/util/BeautiTemplate.java
@@ -1,7 +1,7 @@
 /*
  * BeautiTemplate.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/util/CommandLineBeauti.java b/src/dr/app/beauti/util/CommandLineBeauti.java
index b641080..1c73a8d 100755
--- a/src/dr/app/beauti/util/CommandLineBeauti.java
+++ b/src/dr/app/beauti/util/CommandLineBeauti.java
@@ -1,7 +1,7 @@
 /*
- * BeautiMacFileMenuFactory.java
+ * CommandLineBeauti.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/util/NexusApplicationImporter.java b/src/dr/app/beauti/util/NexusApplicationImporter.java
index 9a61fd5..3f2aa72 100644
--- a/src/dr/app/beauti/util/NexusApplicationImporter.java
+++ b/src/dr/app/beauti/util/NexusApplicationImporter.java
@@ -1,7 +1,7 @@
 /*
  * NexusApplicationImporter.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/util/NumberUtil.java b/src/dr/app/beauti/util/NumberUtil.java
index 06f4e83..c096ead 100644
--- a/src/dr/app/beauti/util/NumberUtil.java
+++ b/src/dr/app/beauti/util/NumberUtil.java
@@ -1,3 +1,28 @@
+/*
+ * NumberUtil.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.util;
 
 import java.text.DecimalFormat;
diff --git a/src/dr/app/beauti/util/PanelUtils.java b/src/dr/app/beauti/util/PanelUtils.java
index dd739ab..4b9a365 100644
--- a/src/dr/app/beauti/util/PanelUtils.java
+++ b/src/dr/app/beauti/util/PanelUtils.java
@@ -1,3 +1,28 @@
+/*
+ * PanelUtils.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.util;
 
 import javax.swing.*;
diff --git a/src/dr/app/beauti/util/PartitionNameDialog.java b/src/dr/app/beauti/util/PartitionNameDialog.java
index 385bd63..8cdbd1e 100644
--- a/src/dr/app/beauti/util/PartitionNameDialog.java
+++ b/src/dr/app/beauti/util/PartitionNameDialog.java
@@ -1,7 +1,7 @@
 /*
- * GuessTraitDialog.java
+ * PartitionNameDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/beauti/util/TextUtil.java b/src/dr/app/beauti/util/TextUtil.java
index 95c7dd0..b51d65d 100644
--- a/src/dr/app/beauti/util/TextUtil.java
+++ b/src/dr/app/beauti/util/TextUtil.java
@@ -1,3 +1,28 @@
+/*
+ * TextUtil.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.beauti.util;
 
 import javax.swing.*;
diff --git a/src/dr/app/beauti/util/TreeUtils.java b/src/dr/app/beauti/util/TreeUtils.java
index e47b98c..230d8f8 100644
--- a/src/dr/app/beauti/util/TreeUtils.java
+++ b/src/dr/app/beauti/util/TreeUtils.java
@@ -1,7 +1,7 @@
 /*
  * TreeUtils.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/beauti/util/XMLWriter.java b/src/dr/app/beauti/util/XMLWriter.java
index 7256772..ee9bc56 100644
--- a/src/dr/app/beauti/util/XMLWriter.java
+++ b/src/dr/app/beauti/util/XMLWriter.java
@@ -1,7 +1,7 @@
 /*
  * XMLWriter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/bfe/BFEMain.java b/src/dr/app/bfe/BFEMain.java
index 6ccb8bc..db091f7 100644
--- a/src/dr/app/bfe/BFEMain.java
+++ b/src/dr/app/bfe/BFEMain.java
@@ -1,3 +1,28 @@
+/*
+ * BFEMain.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bfe;
 
 import javax.swing.*;
diff --git a/src/dr/app/bfe/BFEapp.java b/src/dr/app/bfe/BFEapp.java
index ed19c2c..55b5035 100644
--- a/src/dr/app/bfe/BFEapp.java
+++ b/src/dr/app/bfe/BFEapp.java
@@ -1,3 +1,28 @@
+/*
+ * BFEapp.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bfe;
 
 import javax.swing.*;
diff --git a/src/dr/app/bfe/XMLMerger.java b/src/dr/app/bfe/XMLMerger.java
index 4e9d0a7..f04be8c 100644
--- a/src/dr/app/bfe/XMLMerger.java
+++ b/src/dr/app/bfe/XMLMerger.java
@@ -1,3 +1,28 @@
+/*
+ * XMLMerger.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bfe;
 
 import javax.swing.*;
diff --git a/src/dr/app/bfe/XMLTreeModel.java b/src/dr/app/bfe/XMLTreeModel.java
index 590f7fc..f6a7c24 100644
--- a/src/dr/app/bfe/XMLTreeModel.java
+++ b/src/dr/app/bfe/XMLTreeModel.java
@@ -1,3 +1,28 @@
+/*
+ * XMLTreeModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bfe;
 
 import dr.xml.XMLModelFile;
diff --git a/src/dr/app/bfe/XMLViewer.java b/src/dr/app/bfe/XMLViewer.java
index 55a6dde..dae7eef 100644
--- a/src/dr/app/bfe/XMLViewer.java
+++ b/src/dr/app/bfe/XMLViewer.java
@@ -1,3 +1,28 @@
+/*
+ * XMLViewer.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bfe;
 
 import javax.swing.*;
diff --git a/src/dr/app/bss/AboutDialog.java b/src/dr/app/bss/AboutDialog.java
index 9f03eab..534a878 100644
--- a/src/dr/app/bss/AboutDialog.java
+++ b/src/dr/app/bss/AboutDialog.java
@@ -1,3 +1,28 @@
+/*
+ * AboutDialog.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.awt.Color;
diff --git a/src/dr/app/bss/AnalysisException.java b/src/dr/app/bss/AnalysisException.java
new file mode 100644
index 0000000..7564604
--- /dev/null
+++ b/src/dr/app/bss/AnalysisException.java
@@ -0,0 +1,19 @@
+package dr.app.bss;
+
+ at SuppressWarnings("serial")
+public class AnalysisException extends Exception {
+
+	private final String message;
+	
+	public AnalysisException(String message) {
+		
+		this.message = message;
+		
+	}//END: Constructor
+	
+	@Override
+	public String getMessage() {
+		return message;
+	}
+	
+}//END: class
diff --git a/src/dr/app/bss/BeagleSequenceSimulatorApp.java b/src/dr/app/bss/BeagleSequenceSimulatorApp.java
index 13233f1..3e4512c 100644
--- a/src/dr/app/bss/BeagleSequenceSimulatorApp.java
+++ b/src/dr/app/bss/BeagleSequenceSimulatorApp.java
@@ -1,3 +1,28 @@
+/*
+ * BeagleSequenceSimulatorApp.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import jam.framework.SingleDocApplication;
@@ -24,8 +49,8 @@ public class BeagleSequenceSimulatorApp {
 	// Share those if neccessary
 	public static final String SHORT_NAME = "\u03C0BUSS";
 	public static final String LONG_NAME = "Parallel BEAST/BEAGLE Utility for Sequence Simulation";
-	public static final String VERSION = "1.3.7";
-	public static final String DATE = "2014";
+	public static final String VERSION = "1.3.8rc";
+	public static final String DATE = "2015";
 
 	// Icons
 	private Image beagleSequenceSimulatorImage;
diff --git a/src/dr/app/bss/BeagleSequenceSimulatorConsoleApp.java b/src/dr/app/bss/BeagleSequenceSimulatorConsoleApp.java
index c7639d0..f32cc8c 100644
--- a/src/dr/app/bss/BeagleSequenceSimulatorConsoleApp.java
+++ b/src/dr/app/bss/BeagleSequenceSimulatorConsoleApp.java
@@ -1,7 +1,7 @@
 /*
  * BeagleSequenceSimulatorConsoleApp.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -28,13 +28,16 @@ package dr.app.bss;
 import dr.app.beagle.tools.BeagleSequenceSimulator;
 import dr.app.beagle.tools.Partition;
 import dr.app.util.Arguments;
+import dr.app.util.Arguments.ArgumentException;
 import dr.evolution.alignment.SimpleAlignment;
+import dr.evolution.io.Importer.ImportException;
 import dr.evolution.tree.Tree;
 import dr.evolution.util.Taxa;
 import dr.math.MathUtils;
 
 import java.io.File;
 import java.io.FileWriter;
+import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -86,6 +89,11 @@ public class BeagleSequenceSimulatorConsoleApp {
     private static final String STRICT_CLOCK_PARAMETER_VALUES = "strictClockParameterValues";
     private static final String LOGNORMAL_RELAXED_CLOCK = "lognormalRelaxedClock";
     private static final String LOGNORMAL_RELAXED_CLOCK_PARAMETER_VALUES = "lognormalRelaxedClockParameterValues";
+    
+    private static final String LRC_PARAMETERS_IN_REAL_SPACE = "lrcParametersInRealSpace";
+    private static final String TRUE = "true";
+    private static final String FALSE = "false";
+    
     private static final String EXPONENTIAL_RELAXED_CLOCK = "exponentialRelaxedClock";
     private static final String EXPONENTIAL_RELAXED_CLOCK_PARAMETER_VALUES = "exponentialRelaxedClockParameterValues";
     private static final String INVERSE_GAUSSIAN_RELAXED_CLOCK = "inverseGaussianRelaxedClock";
@@ -171,6 +179,15 @@ public class BeagleSequenceSimulatorConsoleApp {
 
                         new Arguments.RealArrayOption(STRICT_CLOCK_PARAMETER_VALUES, 1, "specify Strict Clock parameter values"),
                         new Arguments.RealArrayOption(LOGNORMAL_RELAXED_CLOCK_PARAMETER_VALUES, 3, "specify Lognormal Relaxed Clock parameter values"),
+                        
+//                        new Arguments.StringOption(LRC_PARAMETERS_IN_REAL_SPACE),
+                        
+                        new Arguments.StringOption(LRC_PARAMETERS_IN_REAL_SPACE,
+                                new String[]{TRUE, //
+                                        FALSE //
+                               },
+                                false, "Are the Lognormal Relaxed Clock parameter values in the real or log space"),
+                        
                         new Arguments.RealArrayOption(EXPONENTIAL_RELAXED_CLOCK_PARAMETER_VALUES, 2, "specify Exponential Relaxed Clock parameter values"),
                         new Arguments.RealArrayOption(INVERSE_GAUSSIAN_RELAXED_CLOCK_PARAMETER_VALUES, 3, "specify Inverse Gaussian Relaxed Clock parameter values"),
 
@@ -433,13 +450,26 @@ public class BeagleSequenceSimulatorConsoleApp {
 
                         int index = 1;
                         data.clockModelIndex = index;
-                        if (arguments
-                                .hasOption(LOGNORMAL_RELAXED_CLOCK_PARAMETER_VALUES)) {
+                        
+                        if (arguments.hasOption(LOGNORMAL_RELAXED_CLOCK_PARAMETER_VALUES)) {
                             values = arguments
                                     .getRealArrayOption(LOGNORMAL_RELAXED_CLOCK_PARAMETER_VALUES);
                             parseClockValues(index, values, data);
+                        
                         }
 
+                        // set to true/false
+						if (arguments.hasOption(LRC_PARAMETERS_IN_REAL_SPACE)) {
+
+							boolean lrcParametersInRealSpace = (arguments
+									.getStringOption(
+											LRC_PARAMETERS_IN_REAL_SPACE)
+									.equalsIgnoreCase(TRUE) ? true : false);
+							data.lrcParametersInRealSpace = lrcParametersInRealSpace;
+
+						}
+                        
+                        
                     } else if (option
                             .equalsIgnoreCase(EXPONENTIAL_RELAXED_CLOCK)) {
 
@@ -623,16 +653,34 @@ public class BeagleSequenceSimulatorConsoleApp {
             writer.println(alignment.toString());
             writer.close();
 
-        } catch (Exception e) {
-
-            System.out.println();
-            printUsage(arguments);
-            System.out.println();
-            System.out.println(e.getMessage());
-            e.printStackTrace();
-            System.exit(1);
-
-        }// END: try-catch block
+		} catch (ArgumentException e) {
+
+			System.out.println();
+			printUsage(arguments);
+			System.out.println();
+			System.out.println(e.getMessage());
+			e.printStackTrace();
+			System.exit(1);
+
+		} catch (IOException e) {
+			
+			System.out.println();
+			printUsage(arguments);
+			System.out.println();
+			System.out.println(e.getMessage());
+			e.printStackTrace();
+			System.exit(1);
+			
+		} catch (ImportException e) {
+		
+			System.out.println();
+			printUsage(arguments);
+			System.out.println();
+			System.out.println(e.getMessage());
+			e.printStackTrace();
+			System.exit(1);
+		
+		}// END: try-catch block
 
     }// END: simulate
 
diff --git a/src/dr/app/bss/BranchSubstitutionModelEditor.java b/src/dr/app/bss/BranchSubstitutionModelEditor.java
index 0846923..0e3077a 100644
--- a/src/dr/app/bss/BranchSubstitutionModelEditor.java
+++ b/src/dr/app/bss/BranchSubstitutionModelEditor.java
@@ -1,3 +1,28 @@
+/*
+ * BranchSubstitutionModelEditor.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import jam.panels.OptionsPanel;
diff --git a/src/dr/app/bss/Changelog b/src/dr/app/bss/Changelog
index bb04307..1589c78 100644
--- a/src/dr/app/bss/Changelog
+++ b/src/dr/app/bss/Changelog
@@ -29,7 +29,9 @@ September 2014: PIBUSS version 1.3.7
 
 PIBUSS version 1.3.8 release candidate
 --------------------------------------
-* Parameters of the relaxed lognormal clock are now on the log scale by default and can be changed in XML only
-* ToolTip for ucld mean and stdev fields that says these parameters are in the log space
+* Parameters of the relaxed lognormal clock are now on the log scale by default and can be changed in XML or in CLI (-lrcParametersInRealSpace true|false). 
+  GUI is hardcoded to true.
+* Tool-tip for ucld mean and stdev fields that says these parameters are in the real space
 * XML parser checks siteCounts per partition; previously this behaviour could throw an exception if using rootSequences with multiple partitions
 * Fixed a bug in SiteRate model XML generation; when using multiple partitions alpha parameter was not raised by suffix
+* Fixed a labelling of the Gamma Site Rate model in the appropriate editor
\ No newline at end of file
diff --git a/src/dr/app/bss/ClockRateModelEditor.java b/src/dr/app/bss/ClockRateModelEditor.java
index b872306..2b395a8 100644
--- a/src/dr/app/bss/ClockRateModelEditor.java
+++ b/src/dr/app/bss/ClockRateModelEditor.java
@@ -1,3 +1,28 @@
+/*
+ * ClockRateModelEditor.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import jam.panels.OptionsPanel;
@@ -154,7 +179,7 @@ public class ClockRateModelEditor {
 
 			if (k == 1 || k == 2) {
 				clockParameterFields[k]
-						.setToolTipText("Parameter in the log space");
+						.setToolTipText("Parameter in the real space");
 			}//END: ucld.mean ucld.stdev check
 			
 			JPanel panel = new JPanel(new BorderLayout(6, 6));
diff --git a/src/dr/app/bss/ColumnResizer.java b/src/dr/app/bss/ColumnResizer.java
index 2dbb6b8..34bccf4 100644
--- a/src/dr/app/bss/ColumnResizer.java
+++ b/src/dr/app/bss/ColumnResizer.java
@@ -1,3 +1,28 @@
+/*
+ * ColumnResizer.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.awt.Component;
diff --git a/src/dr/app/bss/DefaultEditMenuFactory.java b/src/dr/app/bss/DefaultEditMenuFactory.java
index eef41b3..82b5f2d 100644
--- a/src/dr/app/bss/DefaultEditMenuFactory.java
+++ b/src/dr/app/bss/DefaultEditMenuFactory.java
@@ -1,3 +1,28 @@
+/*
+ * DefaultEditMenuFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.awt.event.KeyEvent;
diff --git a/src/dr/app/bss/DefaultFileMenuFactory.java b/src/dr/app/bss/DefaultFileMenuFactory.java
index d56075b..d434a5f 100644
--- a/src/dr/app/bss/DefaultFileMenuFactory.java
+++ b/src/dr/app/bss/DefaultFileMenuFactory.java
@@ -1,3 +1,28 @@
+/*
+ * DefaultFileMenuFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import jam.framework.AbstractFrame;
diff --git a/src/dr/app/bss/DefaultHelpMenuFactory.java b/src/dr/app/bss/DefaultHelpMenuFactory.java
index dd0e271..7a09480 100644
--- a/src/dr/app/bss/DefaultHelpMenuFactory.java
+++ b/src/dr/app/bss/DefaultHelpMenuFactory.java
@@ -1,3 +1,28 @@
+/*
+ * DefaultHelpMenuFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import jam.framework.AbstractFrame;
diff --git a/src/dr/app/bss/DemographicModelEditor.java b/src/dr/app/bss/DemographicModelEditor.java
index 227c8be..8556074 100644
--- a/src/dr/app/bss/DemographicModelEditor.java
+++ b/src/dr/app/bss/DemographicModelEditor.java
@@ -1,3 +1,28 @@
+/*
+ * DemographicModelEditor.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import jam.panels.OptionsPanel;
diff --git a/src/dr/app/bss/DisabledItemsComboBox.java b/src/dr/app/bss/DisabledItemsComboBox.java
index 9bb0ae9..c27dda7 100644
--- a/src/dr/app/bss/DisabledItemsComboBox.java
+++ b/src/dr/app/bss/DisabledItemsComboBox.java
@@ -1,3 +1,28 @@
+/*
+ * DisabledItemsComboBox.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.awt.Component;
diff --git a/src/dr/app/bss/ExceptionHandler.java b/src/dr/app/bss/ExceptionHandler.java
index b0c9ea7..ef504b8 100644
--- a/src/dr/app/bss/ExceptionHandler.java
+++ b/src/dr/app/bss/ExceptionHandler.java
@@ -1,3 +1,28 @@
+/*
+ * ExceptionHandler.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.lang.Thread.UncaughtExceptionHandler;
diff --git a/src/dr/app/bss/FileMenuHandler.java b/src/dr/app/bss/FileMenuHandler.java
index 9b0f74c..593d526 100644
--- a/src/dr/app/bss/FileMenuHandler.java
+++ b/src/dr/app/bss/FileMenuHandler.java
@@ -1,3 +1,28 @@
+/*
+ * FileMenuHandler.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import javax.swing.Action;
diff --git a/src/dr/app/bss/FrequencyModelEditor.java b/src/dr/app/bss/FrequencyModelEditor.java
index 474c96b..52c9246 100644
--- a/src/dr/app/bss/FrequencyModelEditor.java
+++ b/src/dr/app/bss/FrequencyModelEditor.java
@@ -1,3 +1,28 @@
+/*
+ * FrequencyModelEditor.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import jam.panels.OptionsPanel;
diff --git a/src/dr/app/bss/JTableButtonCellEditor.java b/src/dr/app/bss/JTableButtonCellEditor.java
index 26f1628..4179c34 100644
--- a/src/dr/app/bss/JTableButtonCellEditor.java
+++ b/src/dr/app/bss/JTableButtonCellEditor.java
@@ -1,3 +1,28 @@
+/*
+ * JTableButtonCellEditor.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.awt.Component;
diff --git a/src/dr/app/bss/JTableButtonCellRenderer.java b/src/dr/app/bss/JTableButtonCellRenderer.java
index b37a83a..553ea20 100644
--- a/src/dr/app/bss/JTableButtonCellRenderer.java
+++ b/src/dr/app/bss/JTableButtonCellRenderer.java
@@ -1,3 +1,28 @@
+/*
+ * JTableButtonCellRenderer.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.awt.Color;
diff --git a/src/dr/app/bss/JTableButtonMouseListener.java b/src/dr/app/bss/JTableButtonMouseListener.java
index 29ba3e7..e186aa5 100644
--- a/src/dr/app/bss/JTableButtonMouseListener.java
+++ b/src/dr/app/bss/JTableButtonMouseListener.java
@@ -1,3 +1,28 @@
+/*
+ * JTableButtonMouseListener.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.awt.event.MouseAdapter;
diff --git a/src/dr/app/bss/JTableComboBoxCellEditor.java b/src/dr/app/bss/JTableComboBoxCellEditor.java
index e5870e4..75adf51 100644
--- a/src/dr/app/bss/JTableComboBoxCellEditor.java
+++ b/src/dr/app/bss/JTableComboBoxCellEditor.java
@@ -1,3 +1,28 @@
+/*
+ * JTableComboBoxCellEditor.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.awt.Component;
diff --git a/src/dr/app/bss/JTableComboBoxCellRenderer.java b/src/dr/app/bss/JTableComboBoxCellRenderer.java
index ea079fb..1284dd8 100644
--- a/src/dr/app/bss/JTableComboBoxCellRenderer.java
+++ b/src/dr/app/bss/JTableComboBoxCellRenderer.java
@@ -1,3 +1,28 @@
+/*
+ * JTableComboBoxCellRenderer.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.awt.Component;
diff --git a/src/dr/app/bss/MainFrame.java b/src/dr/app/bss/MainFrame.java
index 6a50544..c605dea 100644
--- a/src/dr/app/bss/MainFrame.java
+++ b/src/dr/app/bss/MainFrame.java
@@ -1,7 +1,7 @@
 /*
  * MainFrame.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/bss/MenuBarFactory.java b/src/dr/app/bss/MenuBarFactory.java
index ccceafe..1f4cccb 100644
--- a/src/dr/app/bss/MenuBarFactory.java
+++ b/src/dr/app/bss/MenuBarFactory.java
@@ -1,3 +1,28 @@
+/*
+ * MenuBarFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import jam.framework.DefaultMenuBarFactory;
diff --git a/src/dr/app/bss/PartitionData.java b/src/dr/app/bss/PartitionData.java
index d1dfacc..421f6ba 100644
--- a/src/dr/app/bss/PartitionData.java
+++ b/src/dr/app/bss/PartitionData.java
@@ -1,3 +1,28 @@
+/*
+ * PartitionData.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.io.Serializable;
@@ -108,7 +133,7 @@ public class PartitionData implements Serializable {
     	"Constant Population",
         "Exponential Growth (Growth Rate)",
         "Exponential Growth (Doubling Time)",
-        "Logistic Growth (Growth Rate)",
+//        "Logistic Growth (Growth Rate)",
 //        "Logistic Growth (Doubling Time)",
 //        "Expansion (Growth Rate)",
 //        "Expansion (Doubling Time)",
@@ -887,17 +912,18 @@ public class PartitionData implements Serializable {
 	// ////////////////////
 	
 	public int clockModelIndex = 0;
-
+    public int LRC_INDEX = 1;
+	
 	public String clockModelIdref = BranchRateModel.BRANCH_RATES;
 
 	public void resetClockModelIdref() {
 		this.clockModelIdref = BranchRateModel.BRANCH_RATES;
 	}
 	
-	public static String[] clockModels = { "Strict Clock", //
-			"Lognormal relaxed clock (Uncorrelated)", //
-			"Exponential relaxed clock (Uncorrelated)", //
-			"Inverse Gaussian relaxed clock" //
+	public static String[] clockModels = { "Strict Clock", // 0
+			"Lognormal relaxed clock (Uncorrelated)", // 1
+			"Exponential relaxed clock (Uncorrelated)", // 2
+			"Inverse Gaussian relaxed clock" // 3
 	};
 
 	public static String[] clockParameterNames = new String[] { "clock.rate", // StrictClock
@@ -928,6 +954,8 @@ public class PartitionData implements Serializable {
 			0.0 // ig.offset
 	};
 
+	public boolean lrcParametersInRealSpace = true;
+	
 	public BranchRateModel createClockRateModel() {
 
 		BranchRateModel branchRateModel = null;
@@ -938,7 +966,7 @@ public class PartitionData implements Serializable {
 			
 			branchRateModel = new StrictClockBranchRates(rateParameter);
 
-		} else if (this.clockModelIndex == 1) {// Lognormal relaxed clock
+		} else if (this.clockModelIndex == LRC_INDEX) {// Lognormal relaxed clock
 
 			double numberOfBranches = 2 * (createTreeModel().getTaxonCount() - 1);
 			Parameter rateCategoryParameter = new Parameter.Default(numberOfBranches);
@@ -946,7 +974,7 @@ public class PartitionData implements Serializable {
 			Parameter mean = new Parameter.Default(LogNormalDistributionModelParser.MEAN, 1, clockParameterValues[1]);
 			Parameter stdev = new Parameter.Default(LogNormalDistributionModelParser.STDEV, 1, clockParameterValues[2]);
 			//TODO: choose between log scale / real scale
-	        ParametricDistributionModel distributionModel = new LogNormalDistributionModel(mean, stdev, clockParameterValues[3], false, false);
+	        ParametricDistributionModel distributionModel = new LogNormalDistributionModel(mean, stdev, clockParameterValues[3], lrcParametersInRealSpace, lrcParametersInRealSpace);
 	        
 	        branchRateModel = new DiscretizedBranchRates(createTreeModel(), //
 	        		rateCategoryParameter, //
@@ -989,9 +1017,6 @@ public class PartitionData implements Serializable {
 	        ParametricDistributionModel distributionModel = new InverseGaussianDistributionModel(
 					mean, stdev, clockParameterValues[8], false);
      
-//	        branchRateModel = new DiscretizedBranchRates(createTreeModel(), rateCategoryParameter, 
-//	                distributionModel, 1, false, Double.NaN);
-	        
 	        branchRateModel = new DiscretizedBranchRates(createTreeModel(), //
 	        		rateCategoryParameter, //
 	                distributionModel, //
@@ -1024,7 +1049,7 @@ public class PartitionData implements Serializable {
 	}
 	
 	public static String[] siteRateModels = { "No Model", //
-			"Site Rate Model" //
+			"Gamma Site Rate Model" //
 	};
 
 	public static String[] siteRateModelParameterNames = new String[] {
@@ -1069,6 +1094,7 @@ public class PartitionData implements Serializable {
 	// //////////////////////////
 	// ---ANCESTRAL SEQUENCE---//
 	// //////////////////////////
+	
 	public String ancestralSequenceString = null;
 
 	public Sequence createAncestralSequence() {
diff --git a/src/dr/app/bss/PartitionDataList.java b/src/dr/app/bss/PartitionDataList.java
index 112a8c6..e072518 100644
--- a/src/dr/app/bss/PartitionDataList.java
+++ b/src/dr/app/bss/PartitionDataList.java
@@ -1,7 +1,7 @@
 /*
  * PartitionDataList.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/bss/PartitionTableModel.java b/src/dr/app/bss/PartitionTableModel.java
index 36c3ade..89c6398 100644
--- a/src/dr/app/bss/PartitionTableModel.java
+++ b/src/dr/app/bss/PartitionTableModel.java
@@ -1,3 +1,28 @@
+/*
+ * PartitionTableModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.awt.event.ActionEvent;
diff --git a/src/dr/app/bss/PartitionsPanel.java b/src/dr/app/bss/PartitionsPanel.java
index d4dd015..bd47e47 100644
--- a/src/dr/app/bss/PartitionsPanel.java
+++ b/src/dr/app/bss/PartitionsPanel.java
@@ -1,3 +1,28 @@
+/*
+ * PartitionsPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import jam.framework.Exportable;
diff --git a/src/dr/app/bss/RootSequenceEditor.java b/src/dr/app/bss/RootSequenceEditor.java
index 99946af..3039c0a 100644
--- a/src/dr/app/bss/RootSequenceEditor.java
+++ b/src/dr/app/bss/RootSequenceEditor.java
@@ -1,3 +1,28 @@
+/*
+ * RootSequenceEditor.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import jam.panels.OptionsPanel;
diff --git a/src/dr/app/bss/RowNumberTable.java b/src/dr/app/bss/RowNumberTable.java
index 94a1b1d..bb2a8cd 100644
--- a/src/dr/app/bss/RowNumberTable.java
+++ b/src/dr/app/bss/RowNumberTable.java
@@ -1,3 +1,28 @@
+/*
+ * RowNumberTable.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.awt.Component;
diff --git a/src/dr/app/bss/SimpleFileFilter.java b/src/dr/app/bss/SimpleFileFilter.java
index 7b29616..15f9352 100644
--- a/src/dr/app/bss/SimpleFileFilter.java
+++ b/src/dr/app/bss/SimpleFileFilter.java
@@ -1,3 +1,28 @@
+/*
+ * SimpleFileFilter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.io.File;
diff --git a/src/dr/app/bss/SimulationPanel.java b/src/dr/app/bss/SimulationPanel.java
index 04e098c..168ad10 100644
--- a/src/dr/app/bss/SimulationPanel.java
+++ b/src/dr/app/bss/SimulationPanel.java
@@ -1,7 +1,7 @@
 /*
  * SimulationPanel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/bss/SiteRateModelEditor.java b/src/dr/app/bss/SiteRateModelEditor.java
index 7550cdc..50f1cc7 100644
--- a/src/dr/app/bss/SiteRateModelEditor.java
+++ b/src/dr/app/bss/SiteRateModelEditor.java
@@ -1,3 +1,28 @@
+/*
+ * SiteRateModelEditor.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import jam.panels.OptionsPanel;
diff --git a/src/dr/app/bss/TableColumnHider.java b/src/dr/app/bss/TableColumnHider.java
index 21ca015..929eccf 100644
--- a/src/dr/app/bss/TableColumnHider.java
+++ b/src/dr/app/bss/TableColumnHider.java
@@ -1,3 +1,28 @@
+/*
+ * TableColumnHider.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.util.HashMap;
diff --git a/src/dr/app/bss/TaxaEditor.java b/src/dr/app/bss/TaxaEditor.java
index bdf2a9a..e86f6f8 100644
--- a/src/dr/app/bss/TaxaEditor.java
+++ b/src/dr/app/bss/TaxaEditor.java
@@ -1,3 +1,28 @@
+/*
+ * TaxaEditor.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import jam.panels.ActionPanel;
diff --git a/src/dr/app/bss/TaxaEditorTableModel.java b/src/dr/app/bss/TaxaEditorTableModel.java
index c36a5d5..7517d34 100644
--- a/src/dr/app/bss/TaxaEditorTableModel.java
+++ b/src/dr/app/bss/TaxaEditorTableModel.java
@@ -1,3 +1,28 @@
+/*
+ * TaxaEditorTableModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import javax.swing.table.AbstractTableModel;
diff --git a/src/dr/app/bss/TaxaPanel.java b/src/dr/app/bss/TaxaPanel.java
index 4973196..082d96c 100644
--- a/src/dr/app/bss/TaxaPanel.java
+++ b/src/dr/app/bss/TaxaPanel.java
@@ -1,3 +1,28 @@
+/*
+ * TaxaPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import jam.framework.Exportable;
diff --git a/src/dr/app/bss/TaxaTableModel.java b/src/dr/app/bss/TaxaTableModel.java
index 81ad494..7c39f1a 100644
--- a/src/dr/app/bss/TaxaTableModel.java
+++ b/src/dr/app/bss/TaxaTableModel.java
@@ -1,3 +1,28 @@
+/*
+ * TaxaTableModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import javax.swing.table.AbstractTableModel;
diff --git a/src/dr/app/bss/TerminalPanel.java b/src/dr/app/bss/TerminalPanel.java
index 422c538..c642a82 100644
--- a/src/dr/app/bss/TerminalPanel.java
+++ b/src/dr/app/bss/TerminalPanel.java
@@ -1,3 +1,28 @@
+/*
+ * TerminalPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.awt.BorderLayout;
diff --git a/src/dr/app/bss/TreesPanel.java b/src/dr/app/bss/TreesPanel.java
index b918c38..cd18fa4 100644
--- a/src/dr/app/bss/TreesPanel.java
+++ b/src/dr/app/bss/TreesPanel.java
@@ -1,3 +1,28 @@
+/*
+ * TreesPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import jam.framework.Exportable;
diff --git a/src/dr/app/bss/TreesTableModel.java b/src/dr/app/bss/TreesTableModel.java
index 4e20c4e..1c67234 100644
--- a/src/dr/app/bss/TreesTableModel.java
+++ b/src/dr/app/bss/TreesTableModel.java
@@ -1,3 +1,28 @@
+/*
+ * TreesTableModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.awt.event.ActionEvent;
diff --git a/src/dr/app/bss/TreesTableRecord.java b/src/dr/app/bss/TreesTableRecord.java
index ca4e6a9..eacac47 100644
--- a/src/dr/app/bss/TreesTableRecord.java
+++ b/src/dr/app/bss/TreesTableRecord.java
@@ -1,3 +1,28 @@
+/*
+ * TreesTableRecord.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.io.Serializable;
diff --git a/src/dr/app/bss/Utils.java b/src/dr/app/bss/Utils.java
index 68a7144..20f84a1 100644
--- a/src/dr/app/bss/Utils.java
+++ b/src/dr/app/bss/Utils.java
@@ -1,3 +1,28 @@
+/*
+ * Utils.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.awt.Desktop;
@@ -1078,6 +1103,15 @@ public class Utils {
 		}
 	}// END: print2DArray
 
+	public static void print2DArray(int[][] array) {
+		for (int row = 0; row < array.length; row++) {
+			for (int col = 0; col < array[row].length; col++) {
+				System.out.print(array[row][col] + " ");
+			}
+			System.out.print("\n");
+		}
+	}// END: print2DArray
+	
 	public static void print2Arrays(int[] array1, double[] array2, int nrow) {
 		for (int row = 0; row < nrow; row++) {
 			System.out.print(array1[row] + " " + array2[row] + " ");
@@ -1424,6 +1458,13 @@ public class Utils {
 		}// END: indices loop
 		string += ")";
 
+		if(data.clockModelIndex == data.LRC_INDEX) {
+			
+			String space = (data.lrcParametersInRealSpace == true ? "real" : "log");
+			string += " ( " +  "Parameters in " + space + " space )";
+			
+		}
+		
 		return string;
 	}
 
@@ -1483,4 +1524,5 @@ public class Utils {
 		return string;
 	}
 
+
 }// END: class
diff --git a/src/dr/app/bss/XMLExporter.java b/src/dr/app/bss/XMLExporter.java
index ae0cd0e..a959c40 100644
--- a/src/dr/app/bss/XMLExporter.java
+++ b/src/dr/app/bss/XMLExporter.java
@@ -1,3 +1,28 @@
+/*
+ * XMLExporter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.io.IOException;
diff --git a/src/dr/app/bss/XMLGenerator.java b/src/dr/app/bss/XMLGenerator.java
index 784f2a8..24d4ddd 100644
--- a/src/dr/app/bss/XMLGenerator.java
+++ b/src/dr/app/bss/XMLGenerator.java
@@ -1,3 +1,28 @@
+/*
+ * XMLGenerator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss;
 
 import java.io.BufferedWriter;
diff --git a/src/dr/app/bss/test/AncestralSequenceTrait.java b/src/dr/app/bss/test/AncestralSequenceTrait.java
index c1962e0..cf90aed 100644
--- a/src/dr/app/bss/test/AncestralSequenceTrait.java
+++ b/src/dr/app/bss/test/AncestralSequenceTrait.java
@@ -1,3 +1,28 @@
+/*
+ * AncestralSequenceTrait.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.bss.test;
 
 import java.util.LinkedHashMap;
diff --git a/src/dr/app/bss/test/BeagleSeqSimTest.java b/src/dr/app/bss/test/BeagleSeqSimTest.java
index 65e8b48..bfa8375 100644
--- a/src/dr/app/bss/test/BeagleSeqSimTest.java
+++ b/src/dr/app/bss/test/BeagleSeqSimTest.java
@@ -1,7 +1,7 @@
 /*
  * BeagleSeqSimTest.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/coalgen/CoalGenApp.java b/src/dr/app/coalgen/CoalGenApp.java
index cbdf962..77abcb6 100644
--- a/src/dr/app/coalgen/CoalGenApp.java
+++ b/src/dr/app/coalgen/CoalGenApp.java
@@ -1,7 +1,7 @@
 /*
  * CoalGenApp.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/coalgen/CoalGenData.java b/src/dr/app/coalgen/CoalGenData.java
index cea5528..a0c12bb 100644
--- a/src/dr/app/coalgen/CoalGenData.java
+++ b/src/dr/app/coalgen/CoalGenData.java
@@ -1,7 +1,7 @@
 /*
  * CoalGenData.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/coalgen/CoalGenFrame.java b/src/dr/app/coalgen/CoalGenFrame.java
index e06193f..2efe672 100644
--- a/src/dr/app/coalgen/CoalGenFrame.java
+++ b/src/dr/app/coalgen/CoalGenFrame.java
@@ -1,7 +1,7 @@
 /*
  * CoalGenFrame.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/coalgen/CoalGenMenuFactory.java b/src/dr/app/coalgen/CoalGenMenuFactory.java
index 232b914..67c96ea 100644
--- a/src/dr/app/coalgen/CoalGenMenuFactory.java
+++ b/src/dr/app/coalgen/CoalGenMenuFactory.java
@@ -1,7 +1,7 @@
 /*
  * CoalGenMenuFactory.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/coalgen/DataPanel.java b/src/dr/app/coalgen/DataPanel.java
index 43f8f25..cc7ed49 100644
--- a/src/dr/app/coalgen/DataPanel.java
+++ b/src/dr/app/coalgen/DataPanel.java
@@ -1,7 +1,7 @@
 /*
  * DataPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/coalgen/InputsPanel.java b/src/dr/app/coalgen/InputsPanel.java
index 5c588d3..c4e55a7 100644
--- a/src/dr/app/coalgen/InputsPanel.java
+++ b/src/dr/app/coalgen/InputsPanel.java
@@ -1,7 +1,7 @@
 /*
  * InputsPanel.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/coalgen/ModelPanel.java b/src/dr/app/coalgen/ModelPanel.java
index 9dcd4ef..a3bece3 100644
--- a/src/dr/app/coalgen/ModelPanel.java
+++ b/src/dr/app/coalgen/ModelPanel.java
@@ -1,7 +1,7 @@
 /*
  * ModelPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/coalgen/SimulationsPanel.java b/src/dr/app/coalgen/SimulationsPanel.java
index fe58161..690c345 100644
--- a/src/dr/app/coalgen/SimulationsPanel.java
+++ b/src/dr/app/coalgen/SimulationsPanel.java
@@ -1,7 +1,7 @@
 /*
- * ModelPanel.java
+ * SimulationsPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/ColorFunction.java b/src/dr/app/gui/ColorFunction.java
index 6ac499b..6dde79d 100644
--- a/src/dr/app/gui/ColorFunction.java
+++ b/src/dr/app/gui/ColorFunction.java
@@ -1,3 +1,28 @@
+/*
+ * ColorFunction.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.gui;
 
 import java.awt.*;
diff --git a/src/dr/app/gui/DeleteActionResponder.java b/src/dr/app/gui/DeleteActionResponder.java
index 26f0366..26a18b3 100644
--- a/src/dr/app/gui/DeleteActionResponder.java
+++ b/src/dr/app/gui/DeleteActionResponder.java
@@ -1,3 +1,28 @@
+/*
+ * DeleteActionResponder.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.gui;
 
 import javax.swing.*;
diff --git a/src/dr/app/gui/FileDrop.java b/src/dr/app/gui/FileDrop.java
index c9d97e9..bee0b94 100644
--- a/src/dr/app/gui/FileDrop.java
+++ b/src/dr/app/gui/FileDrop.java
@@ -1,3 +1,28 @@
+/*
+ * FileDrop.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.gui;
 
 import java.awt.datatransfer.DataFlavor;
diff --git a/src/dr/app/gui/SelectAllActionResponder.java b/src/dr/app/gui/SelectAllActionResponder.java
index 6d2f2b5..6ad438d 100644
--- a/src/dr/app/gui/SelectAllActionResponder.java
+++ b/src/dr/app/gui/SelectAllActionResponder.java
@@ -1,3 +1,28 @@
+/*
+ * SelectAllActionResponder.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.gui;
 
 /**
diff --git a/src/dr/app/gui/chart/AreaPlot.java b/src/dr/app/gui/chart/AreaPlot.java
index 653af30..3f9df24 100644
--- a/src/dr/app/gui/chart/AreaPlot.java
+++ b/src/dr/app/gui/chart/AreaPlot.java
@@ -1,7 +1,7 @@
 /*
  * AreaPlot.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/gui/chart/Axis.java b/src/dr/app/gui/chart/Axis.java
index 7ba2a8b..3d93dd8 100644
--- a/src/dr/app/gui/chart/Axis.java
+++ b/src/dr/app/gui/chart/Axis.java
@@ -1,7 +1,7 @@
 /*
  * Axis.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/chart/BlankAxis.java b/src/dr/app/gui/chart/BlankAxis.java
index 22ebf10..78ad32e 100644
--- a/src/dr/app/gui/chart/BlankAxis.java
+++ b/src/dr/app/gui/chart/BlankAxis.java
@@ -1,7 +1,7 @@
 /*
  * BlankAxis.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/gui/chart/CategoryDensityPlot.java b/src/dr/app/gui/chart/CategoryDensityPlot.java
index eee595b..bd7ddde 100644
--- a/src/dr/app/gui/chart/CategoryDensityPlot.java
+++ b/src/dr/app/gui/chart/CategoryDensityPlot.java
@@ -1,7 +1,7 @@
 /*
- * CategoryFrequencyPlot.java
+ * CategoryDensityPlot.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/gui/chart/ChartException.java b/src/dr/app/gui/chart/ChartException.java
index 641e5b9..1e599cf 100644
--- a/src/dr/app/gui/chart/ChartException.java
+++ b/src/dr/app/gui/chart/ChartException.java
@@ -1,7 +1,7 @@
 /*
  * ChartException.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/chart/ChartLayout.java b/src/dr/app/gui/chart/ChartLayout.java
index 78d8cfb..a9621c6 100644
--- a/src/dr/app/gui/chart/ChartLayout.java
+++ b/src/dr/app/gui/chart/ChartLayout.java
@@ -1,7 +1,7 @@
 /*
  * ChartLayout.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/gui/chart/ChartRuntimeException.java b/src/dr/app/gui/chart/ChartRuntimeException.java
index 2431e48..407455f 100644
--- a/src/dr/app/gui/chart/ChartRuntimeException.java
+++ b/src/dr/app/gui/chart/ChartRuntimeException.java
@@ -1,3 +1,28 @@
+/*
+ * ChartRuntimeException.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.gui.chart;
 
 /**
diff --git a/src/dr/app/gui/chart/ChartSelector.java b/src/dr/app/gui/chart/ChartSelector.java
index 722dd2a..6c9c087 100644
--- a/src/dr/app/gui/chart/ChartSelector.java
+++ b/src/dr/app/gui/chart/ChartSelector.java
@@ -1,3 +1,28 @@
+/*
+ * ChartSelector.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.gui.chart;
 
 import java.awt.*;
diff --git a/src/dr/app/gui/chart/ChartSetupDialog.java b/src/dr/app/gui/chart/ChartSetupDialog.java
index ab98962..20b37b8 100644
--- a/src/dr/app/gui/chart/ChartSetupDialog.java
+++ b/src/dr/app/gui/chart/ChartSetupDialog.java
@@ -1,3 +1,28 @@
+/*
+ * ChartSetupDialog.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.gui.chart;
 
 import dr.app.gui.components.RealNumberField;
diff --git a/src/dr/app/gui/chart/DensityEstimatePlot.java b/src/dr/app/gui/chart/DensityEstimatePlot.java
index 0f77baa..7ec0034 100644
--- a/src/dr/app/gui/chart/DensityEstimatePlot.java
+++ b/src/dr/app/gui/chart/DensityEstimatePlot.java
@@ -1,7 +1,7 @@
 /*
- * DensityPlot.java
+ * DensityEstimatePlot.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/gui/chart/DiscreteAxis.java b/src/dr/app/gui/chart/DiscreteAxis.java
index ce2c9ca..1c0072d 100644
--- a/src/dr/app/gui/chart/DiscreteAxis.java
+++ b/src/dr/app/gui/chart/DiscreteAxis.java
@@ -1,7 +1,7 @@
 /*
  * DiscreteAxis.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/chart/DiscreteJChart.java b/src/dr/app/gui/chart/DiscreteJChart.java
index e45d638..7e84259 100644
--- a/src/dr/app/gui/chart/DiscreteJChart.java
+++ b/src/dr/app/gui/chart/DiscreteJChart.java
@@ -1,3 +1,28 @@
+/*
+ * DiscreteJChart.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.gui.chart;
 
 import java.awt.*;
diff --git a/src/dr/app/gui/chart/ErrorBarPlot.java b/src/dr/app/gui/chart/ErrorBarPlot.java
index 80e7e8e..88b05ae 100644
--- a/src/dr/app/gui/chart/ErrorBarPlot.java
+++ b/src/dr/app/gui/chart/ErrorBarPlot.java
@@ -1,7 +1,7 @@
 /*
- * LinePlot.java
+ * ErrorBarPlot.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/gui/chart/FrequencyPlot.java b/src/dr/app/gui/chart/FrequencyPlot.java
index b0d60e9..14d8e47 100644
--- a/src/dr/app/gui/chart/FrequencyPlot.java
+++ b/src/dr/app/gui/chart/FrequencyPlot.java
@@ -1,7 +1,7 @@
 /*
  * FrequencyPlot.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/gui/chart/JChart.java b/src/dr/app/gui/chart/JChart.java
index 48ae6ef..fcbf4fb 100644
--- a/src/dr/app/gui/chart/JChart.java
+++ b/src/dr/app/gui/chart/JChart.java
@@ -1,7 +1,7 @@
 /*
  * JChart.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/chart/JChartPanel.java b/src/dr/app/gui/chart/JChartPanel.java
index 7daf112..839afaf 100644
--- a/src/dr/app/gui/chart/JChartPanel.java
+++ b/src/dr/app/gui/chart/JChartPanel.java
@@ -1,7 +1,7 @@
 /*
  * JChartPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/chart/KDENumericalDensityPlot.java b/src/dr/app/gui/chart/KDENumericalDensityPlot.java
index 8dbc1aa..957f407 100644
--- a/src/dr/app/gui/chart/KDENumericalDensityPlot.java
+++ b/src/dr/app/gui/chart/KDENumericalDensityPlot.java
@@ -1,3 +1,28 @@
+/*
+ * KDENumericalDensityPlot.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.gui.chart;
 
 import dr.inference.trace.TraceDistribution;
diff --git a/src/dr/app/gui/chart/KDESetupDialog.java b/src/dr/app/gui/chart/KDESetupDialog.java
index eebe82a..092921c 100644
--- a/src/dr/app/gui/chart/KDESetupDialog.java
+++ b/src/dr/app/gui/chart/KDESetupDialog.java
@@ -1,3 +1,28 @@
+/*
+ * KDESetupDialog.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.gui.chart;
 
 import dr.app.gui.components.RealNumberField;
diff --git a/src/dr/app/gui/chart/LineDistributionPlot.java b/src/dr/app/gui/chart/LineDistributionPlot.java
index f3997c2..6360799 100644
--- a/src/dr/app/gui/chart/LineDistributionPlot.java
+++ b/src/dr/app/gui/chart/LineDistributionPlot.java
@@ -1,7 +1,7 @@
 /*
  * LineDistributionPlot.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/gui/chart/LinePlot.java b/src/dr/app/gui/chart/LinePlot.java
index 90f3460..d375355 100644
--- a/src/dr/app/gui/chart/LinePlot.java
+++ b/src/dr/app/gui/chart/LinePlot.java
@@ -1,7 +1,7 @@
 /*
  * LinePlot.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/gui/chart/LinearAxis.java b/src/dr/app/gui/chart/LinearAxis.java
index 70930b3..0fb5c3e 100644
--- a/src/dr/app/gui/chart/LinearAxis.java
+++ b/src/dr/app/gui/chart/LinearAxis.java
@@ -1,7 +1,7 @@
 /*
  * LinearAxis.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/chart/LogAxis.java b/src/dr/app/gui/chart/LogAxis.java
index c4dbb82..59f843d 100644
--- a/src/dr/app/gui/chart/LogAxis.java
+++ b/src/dr/app/gui/chart/LogAxis.java
@@ -1,7 +1,7 @@
 /*
  * LogAxis.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/chart/NumericalDensityPlot.java b/src/dr/app/gui/chart/NumericalDensityPlot.java
index 44f3ff8..38fe8fd 100644
--- a/src/dr/app/gui/chart/NumericalDensityPlot.java
+++ b/src/dr/app/gui/chart/NumericalDensityPlot.java
@@ -1,7 +1,7 @@
 /*
- * DensityPlot.java
+ * NumericalDensityPlot.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/gui/chart/PDFPlot.java b/src/dr/app/gui/chart/PDFPlot.java
index c581836..f272645 100644
--- a/src/dr/app/gui/chart/PDFPlot.java
+++ b/src/dr/app/gui/chart/PDFPlot.java
@@ -1,7 +1,7 @@
 /*
  * PDFPlot.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/gui/chart/Plot.java b/src/dr/app/gui/chart/Plot.java
index 4baf50c..c3261d7 100644
--- a/src/dr/app/gui/chart/Plot.java
+++ b/src/dr/app/gui/chart/Plot.java
@@ -1,7 +1,7 @@
 /*
  * Plot.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
@@ -197,6 +197,8 @@ public interface Plot {
         protected Variate.N xData = null;
         protected Variate.N yData = null;
 
+        protected List<Color> colours = null;
+
         protected Shape mark;
 
         protected Stroke lineStroke = new BasicStroke(1.5f);
@@ -256,6 +258,13 @@ public interface Plot {
         }
 
         /**
+         * Set data
+         */
+        public void setColours(List<Color> colours) {
+            this.colours = colours;
+        }
+
+        /**
          * Set axes
          */
         public void setAxes(Axis xAxis, Axis yAxis) {
diff --git a/src/dr/app/gui/chart/RegressionPlot.java b/src/dr/app/gui/chart/RegressionPlot.java
index 385e269..daa87d5 100644
--- a/src/dr/app/gui/chart/RegressionPlot.java
+++ b/src/dr/app/gui/chart/RegressionPlot.java
@@ -1,7 +1,7 @@
 /*
  * RegressionPlot.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/gui/chart/ScatterPlot.java b/src/dr/app/gui/chart/ScatterPlot.java
index b6f39ec..61ff1dd 100644
--- a/src/dr/app/gui/chart/ScatterPlot.java
+++ b/src/dr/app/gui/chart/ScatterPlot.java
@@ -1,7 +1,7 @@
 /*
  * ScatterPlot.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
@@ -76,8 +76,8 @@ public class ScatterPlot extends Plot.AbstractPlot {
      * Set mark style
      */
     public void setHilightedMarkStyle(Stroke hilightedMarkStroke,
-                               Paint hilightedMarkPaint,
-                               Paint hilightedMarkFillPaint) {
+                                      Paint hilightedMarkPaint,
+                                      Paint hilightedMarkFillPaint) {
 
         this.hilightedMarkStroke = hilightedMarkStroke;
         this.hilightedMarkPaint = hilightedMarkPaint;
@@ -87,7 +87,7 @@ public class ScatterPlot extends Plot.AbstractPlot {
     /**
      * Draw a mark transforming co-ordinates to each axis
      */
-    protected void drawMark(Graphics2D g2, float x, float y) {
+    protected void drawMark(Graphics2D g2, float x, float y, Color color) {
 
         Rectangle2D bounds = mark.getBounds2D();
         float w = (float) bounds.getWidth();
@@ -97,8 +97,13 @@ public class ScatterPlot extends Plot.AbstractPlot {
 
         g2.translate(x, y);
 
-        if (markFillPaint != null) {
-            g2.setPaint(markFillPaint);
+        if (color == null) {
+            if (markFillPaint != null) {
+                g2.setPaint(markFillPaint);
+                g2.fill(mark);
+            }
+        } else {
+            g2.setPaint(color);
             g2.fill(mark);
         }
 
@@ -152,14 +157,27 @@ public class ScatterPlot extends Plot.AbstractPlot {
         Set<Integer> selectedPoints = getSelectedPoints();
 
         int n = xData.getCount();
-        for (int i = 0; i < n; i++) {
-            x = (float) transformX(((Number) xData.get(i)).doubleValue());
-            y = (float) transformY(((Number) yData.get(i)).doubleValue());
-
-            if (selectedPoints.contains(i)) {
-                drawMarkHilighted(g2, x, y);
-            } else {
-                drawMark(g2, x, y);
+        if (colours != null && colours.size() == n) {
+            for (int i = 0; i < n; i++) {
+                x = (float) transformX(((Number) xData.get(i)).doubleValue());
+                y = (float) transformY(((Number) yData.get(i)).doubleValue());
+
+                if (selectedPoints.contains(i)) {
+                    drawMarkHilighted(g2, x, y);
+                } else {
+                    drawMark(g2, x, y, colours.get(i));
+                }
+            }
+        } else {
+            for (int i = 0; i < n; i++) {
+                x = (float) transformX(((Number) xData.get(i)).doubleValue());
+                y = (float) transformY(((Number) yData.get(i)).doubleValue());
+
+                if (selectedPoints.contains(i)) {
+                    drawMarkHilighted(g2, x, y);
+                } else {
+                    drawMark(g2, x, y, null);
+                }
             }
         }
 
@@ -183,10 +201,10 @@ public class ScatterPlot extends Plot.AbstractPlot {
                 }
             }
             fireMarkClickedEvent(mark, x, y, isShiftDown);
-		}
+        }
 
-		firePointClickedEvent(x, y, isShiftDown);
-	}
+        firePointClickedEvent(x, y, isShiftDown);
+    }
 
 }
 
diff --git a/src/dr/app/gui/components/ColorWellButton.java b/src/dr/app/gui/components/ColorWellButton.java
index 6597ad8..ad686cb 100644
--- a/src/dr/app/gui/components/ColorWellButton.java
+++ b/src/dr/app/gui/components/ColorWellButton.java
@@ -1,10 +1,26 @@
 /*
  * ColorWellButton.java
  *
- * Copyright (c) 2009 JAM Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
- * This package is distributed under the Lesser Gnu Public Licence (LGPL)
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
  *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
 package dr.app.gui.components;
diff --git a/src/dr/app/gui/components/JVerticalLabel.java b/src/dr/app/gui/components/JVerticalLabel.java
index fc24471..9bf6976 100644
--- a/src/dr/app/gui/components/JVerticalLabel.java
+++ b/src/dr/app/gui/components/JVerticalLabel.java
@@ -1,10 +1,26 @@
 /*
  * JVerticalLabel.java
  *
- * Copyright (c) 2009 JAM Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
- * This package is distributed under the Lesser Gnu Public Licence (LGPL)
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
  *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
 package dr.app.gui.components;
diff --git a/src/dr/app/gui/components/RealNumberField.java b/src/dr/app/gui/components/RealNumberField.java
index 8a921e6..5d9b11d 100644
--- a/src/dr/app/gui/components/RealNumberField.java
+++ b/src/dr/app/gui/components/RealNumberField.java
@@ -1,10 +1,26 @@
 /*
  * RealNumberField.java
  *
- * Copyright (c) 2009 JAM Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
- * This package is distributed under the Lesser Gnu Public Licence (LGPL)
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
  *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
 package dr.app.gui.components;
diff --git a/src/dr/app/gui/components/WholeNumberField.java b/src/dr/app/gui/components/WholeNumberField.java
index 38e2675..eadbbb5 100644
--- a/src/dr/app/gui/components/WholeNumberField.java
+++ b/src/dr/app/gui/components/WholeNumberField.java
@@ -1,10 +1,26 @@
 /*
  * WholeNumberField.java
  *
- * Copyright (c) 2009 JAM Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
- * This package is distributed under the Lesser Gnu Public Licence (LGPL)
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
  *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
 package dr.app.gui.components;
diff --git a/src/dr/app/gui/table/DateCellEditor.java b/src/dr/app/gui/table/DateCellEditor.java
index 437ffd3..6c60eae 100644
--- a/src/dr/app/gui/table/DateCellEditor.java
+++ b/src/dr/app/gui/table/DateCellEditor.java
@@ -1,7 +1,7 @@
 /*
  * DateCellEditor.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/table/MultiLineTableCellContent.java b/src/dr/app/gui/table/MultiLineTableCellContent.java
index 9355d1e..cd20ae3 100644
--- a/src/dr/app/gui/table/MultiLineTableCellContent.java
+++ b/src/dr/app/gui/table/MultiLineTableCellContent.java
@@ -1,3 +1,28 @@
+/*
+ * MultiLineTableCellContent.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.gui.table;
 
 import javax.swing.*;
diff --git a/src/dr/app/gui/table/MultiLineTableCellRenderer.java b/src/dr/app/gui/table/MultiLineTableCellRenderer.java
index 42b6d84..fdfaa81 100644
--- a/src/dr/app/gui/table/MultiLineTableCellRenderer.java
+++ b/src/dr/app/gui/table/MultiLineTableCellRenderer.java
@@ -1,3 +1,28 @@
+/*
+ * MultiLineTableCellRenderer.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.gui.table;
 
 import javax.swing.table.DefaultTableCellRenderer;
diff --git a/src/dr/app/gui/table/RealNumberCellEditor.java b/src/dr/app/gui/table/RealNumberCellEditor.java
index a8ba849..e86a74a 100644
--- a/src/dr/app/gui/table/RealNumberCellEditor.java
+++ b/src/dr/app/gui/table/RealNumberCellEditor.java
@@ -1,3 +1,28 @@
+/*
+ * RealNumberCellEditor.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.gui.table;
 
 import dr.app.gui.components.RealNumberField;
diff --git a/src/dr/app/gui/table/TableEditorStopper.java b/src/dr/app/gui/table/TableEditorStopper.java
index 50a208b..4b23751 100644
--- a/src/dr/app/gui/table/TableEditorStopper.java
+++ b/src/dr/app/gui/table/TableEditorStopper.java
@@ -1,3 +1,28 @@
+/*
+ * TableEditorStopper.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.gui.table;
 
 import java.awt.Component;
diff --git a/src/dr/app/gui/table/TableSorter.java b/src/dr/app/gui/table/TableSorter.java
index 0960fb8..abbccc5 100644
--- a/src/dr/app/gui/table/TableSorter.java
+++ b/src/dr/app/gui/table/TableSorter.java
@@ -1,7 +1,7 @@
 /*
  * TableSorter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/table/TaxonListTable.java b/src/dr/app/gui/table/TaxonListTable.java
index dc65154..1083d81 100644
--- a/src/dr/app/gui/table/TaxonListTable.java
+++ b/src/dr/app/gui/table/TaxonListTable.java
@@ -1,7 +1,7 @@
 /*
  * TaxonListTable.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/table/WholeNumberCellEditor.java b/src/dr/app/gui/table/WholeNumberCellEditor.java
index 3b38eba..14baa9d 100644
--- a/src/dr/app/gui/table/WholeNumberCellEditor.java
+++ b/src/dr/app/gui/table/WholeNumberCellEditor.java
@@ -1,3 +1,28 @@
+/*
+ * WholeNumberCellEditor.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.gui.table;
 
 import dr.app.gui.components.WholeNumberField;
diff --git a/src/dr/app/gui/tree/CoordinateTransform.java b/src/dr/app/gui/tree/CoordinateTransform.java
index 48f29d6..ae8c68b 100644
--- a/src/dr/app/gui/tree/CoordinateTransform.java
+++ b/src/dr/app/gui/tree/CoordinateTransform.java
@@ -1,7 +1,7 @@
 /*
  * CoordinateTransform.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/tree/JTreeDisplay.java b/src/dr/app/gui/tree/JTreeDisplay.java
index d79b462..9c07fd1 100644
--- a/src/dr/app/gui/tree/JTreeDisplay.java
+++ b/src/dr/app/gui/tree/JTreeDisplay.java
@@ -1,7 +1,7 @@
 /*
  * JTreeDisplay.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/tree/JTreePanel.java b/src/dr/app/gui/tree/JTreePanel.java
index 380c5f1..fbd6e94 100644
--- a/src/dr/app/gui/tree/JTreePanel.java
+++ b/src/dr/app/gui/tree/JTreePanel.java
@@ -1,7 +1,7 @@
 /*
  * JTreePanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/tree/NodeDecorator.java b/src/dr/app/gui/tree/NodeDecorator.java
index 3c01241..7c68e66 100644
--- a/src/dr/app/gui/tree/NodeDecorator.java
+++ b/src/dr/app/gui/tree/NodeDecorator.java
@@ -1,7 +1,7 @@
 /*
  * NodeDecorator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/tree/NodeHeightBoxPlot.java b/src/dr/app/gui/tree/NodeHeightBoxPlot.java
index 50c88fd..edff3a4 100644
--- a/src/dr/app/gui/tree/NodeHeightBoxPlot.java
+++ b/src/dr/app/gui/tree/NodeHeightBoxPlot.java
@@ -1,7 +1,7 @@
 /*
  * NodeHeightBoxPlot.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/tree/SquareTreePainter.java b/src/dr/app/gui/tree/SquareTreePainter.java
index f9ef0a3..6efb99c 100644
--- a/src/dr/app/gui/tree/SquareTreePainter.java
+++ b/src/dr/app/gui/tree/SquareTreePainter.java
@@ -1,7 +1,7 @@
 /*
  * SquareTreePainter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/tree/TreePainter.java b/src/dr/app/gui/tree/TreePainter.java
index d96915e..cd65f60 100644
--- a/src/dr/app/gui/tree/TreePainter.java
+++ b/src/dr/app/gui/tree/TreePainter.java
@@ -1,7 +1,7 @@
 /*
  * TreePainter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/gui/util/LongTask.java b/src/dr/app/gui/util/LongTask.java
index a4ba793..60cd560 100644
--- a/src/dr/app/gui/util/LongTask.java
+++ b/src/dr/app/gui/util/LongTask.java
@@ -1,10 +1,26 @@
 /*
  * LongTask.java
  *
- * Copyright (c) 2009 JAM Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
- * This package is distributed under the Lesser Gnu Public Licence (LGPL)
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
  *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
 package dr.app.gui.util;
diff --git a/src/dr/app/gui/util/LongTaskMonitor.java b/src/dr/app/gui/util/LongTaskMonitor.java
index 8261255..f0873f0 100644
--- a/src/dr/app/gui/util/LongTaskMonitor.java
+++ b/src/dr/app/gui/util/LongTaskMonitor.java
@@ -1,10 +1,26 @@
 /*
  * LongTaskMonitor.java
  *
- * Copyright (c) 2009 JAM Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
- * This package is distributed under the Lesser Gnu Public Licence (LGPL)
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
  *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
 package dr.app.gui.util;
diff --git a/src/dr/app/gui/util/SimpleLongTask.java b/src/dr/app/gui/util/SimpleLongTask.java
index ff558a9..7155ba5 100644
--- a/src/dr/app/gui/util/SimpleLongTask.java
+++ b/src/dr/app/gui/util/SimpleLongTask.java
@@ -1,10 +1,26 @@
 /*
  * SimpleLongTask.java
  *
- * Copyright (c) 2009 JAM Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
- * This package is distributed under the Lesser Gnu Public Licence (LGPL)
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
  *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
 package dr.app.gui.util;
diff --git a/src/dr/app/gui/util/SwingWorker.java b/src/dr/app/gui/util/SwingWorker.java
index 0add9fb..e1bd6b7 100644
--- a/src/dr/app/gui/util/SwingWorker.java
+++ b/src/dr/app/gui/util/SwingWorker.java
@@ -1,10 +1,26 @@
 /*
  * SwingWorker.java
  *
- * Copyright (c) 2009 JAM Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
- * This package is distributed under the Lesser Gnu Public Licence (LGPL)
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
  *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
 package dr.app.gui.util;
diff --git a/src/dr/app/gui/util/TaskListener.java b/src/dr/app/gui/util/TaskListener.java
index 4c1aa19..7a75b17 100644
--- a/src/dr/app/gui/util/TaskListener.java
+++ b/src/dr/app/gui/util/TaskListener.java
@@ -1,10 +1,26 @@
 /*
  * TaskListener.java
  *
- * Copyright (c) 2009 JAM Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
- * This package is distributed under the Lesser Gnu Public Licence (LGPL)
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
  *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
 package dr.app.gui.util;
diff --git a/src/dr/app/mapper/application/GeneralPreferencesSection.java b/src/dr/app/mapper/application/GeneralPreferencesSection.java
index 52eaf0f..44b7eab 100644
--- a/src/dr/app/mapper/application/GeneralPreferencesSection.java
+++ b/src/dr/app/mapper/application/GeneralPreferencesSection.java
@@ -1,3 +1,28 @@
+/*
+ * GeneralPreferencesSection.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.mapper.application;
 
 import jam.preferences.PreferencesSection;
diff --git a/src/dr/app/mapper/application/LocationsPanel.java b/src/dr/app/mapper/application/LocationsPanel.java
index f719509..805d7c5 100644
--- a/src/dr/app/mapper/application/LocationsPanel.java
+++ b/src/dr/app/mapper/application/LocationsPanel.java
@@ -1,7 +1,7 @@
 /*
  * LocationsPanel.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/mapper/application/MapperApp.java b/src/dr/app/mapper/application/MapperApp.java
index 7c5ada2..2b06238 100644
--- a/src/dr/app/mapper/application/MapperApp.java
+++ b/src/dr/app/mapper/application/MapperApp.java
@@ -1,3 +1,28 @@
+/*
+ * MapperApp.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.mapper.application;
 
 import dr.app.mapper.application.menus.MapperMenuBarFactory;
diff --git a/src/dr/app/mapper/application/MapperDocument.java b/src/dr/app/mapper/application/MapperDocument.java
index 053d59f..a8d60ea 100644
--- a/src/dr/app/mapper/application/MapperDocument.java
+++ b/src/dr/app/mapper/application/MapperDocument.java
@@ -1,7 +1,7 @@
 /*
- * DataSet.java
+ * MapperDocument.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/mapper/application/MapperFrame.java b/src/dr/app/mapper/application/MapperFrame.java
index 44950f0..bfca865 100644
--- a/src/dr/app/mapper/application/MapperFrame.java
+++ b/src/dr/app/mapper/application/MapperFrame.java
@@ -1,7 +1,7 @@
 /*
  * MapperFrame.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/mapper/application/MapperFrameOld.java b/src/dr/app/mapper/application/MapperFrameOld.java
index c9a3fc2..d91637a 100644
--- a/src/dr/app/mapper/application/MapperFrameOld.java
+++ b/src/dr/app/mapper/application/MapperFrameOld.java
@@ -1,3 +1,28 @@
+/*
+ * MapperFrameOld.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.mapper.application;
 
 import com.lowagie.text.Document;
diff --git a/src/dr/app/mapper/application/MeasurementsPanel.java b/src/dr/app/mapper/application/MeasurementsPanel.java
index 8196f3e..e363130 100644
--- a/src/dr/app/mapper/application/MeasurementsPanel.java
+++ b/src/dr/app/mapper/application/MeasurementsPanel.java
@@ -1,7 +1,7 @@
 /*
- * DataPanel.java
+ * MeasurementsPanel.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/mapper/application/StrainsPanel.java b/src/dr/app/mapper/application/StrainsPanel.java
index 905fe58..1a2c9e1 100644
--- a/src/dr/app/mapper/application/StrainsPanel.java
+++ b/src/dr/app/mapper/application/StrainsPanel.java
@@ -1,7 +1,7 @@
 /*
- * DataPanel.java
+ * StrainsPanel.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/mapper/application/mapper/Analysis.java b/src/dr/app/mapper/application/mapper/Analysis.java
index 9c6face..561ed0f 100644
--- a/src/dr/app/mapper/application/mapper/Analysis.java
+++ b/src/dr/app/mapper/application/mapper/Analysis.java
@@ -1,3 +1,28 @@
+/*
+ * Analysis.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.mapper.application.mapper;
 
 import dr.app.mapper.application.MapperDocument;
diff --git a/src/dr/app/mapper/application/mapper/AnalysisListener.java b/src/dr/app/mapper/application/mapper/AnalysisListener.java
index 59d06a4..27599b9 100644
--- a/src/dr/app/mapper/application/mapper/AnalysisListener.java
+++ b/src/dr/app/mapper/application/mapper/AnalysisListener.java
@@ -1,7 +1,7 @@
 /*
  * AnalysisListener.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/mapper/application/mapper/Layer.java b/src/dr/app/mapper/application/mapper/Layer.java
index 865d5f4..d14ca7d 100644
--- a/src/dr/app/mapper/application/mapper/Layer.java
+++ b/src/dr/app/mapper/application/mapper/Layer.java
@@ -1,3 +1,28 @@
+/*
+ * Layer.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.mapper.application.mapper;
 
 import dr.inference.trace.Trace;
diff --git a/src/dr/app/mapper/application/mapper/LayerType.java b/src/dr/app/mapper/application/mapper/LayerType.java
index b881d8b..053328a 100644
--- a/src/dr/app/mapper/application/mapper/LayerType.java
+++ b/src/dr/app/mapper/application/mapper/LayerType.java
@@ -1,3 +1,28 @@
+/*
+ * LayerType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.mapper.application.mapper;
 
 /**
diff --git a/src/dr/app/mapper/application/mapper/MapperPanel.java b/src/dr/app/mapper/application/mapper/MapperPanel.java
index 8df506d..b55b247 100644
--- a/src/dr/app/mapper/application/mapper/MapperPanel.java
+++ b/src/dr/app/mapper/application/mapper/MapperPanel.java
@@ -1,3 +1,28 @@
+/*
+ * MapperPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.mapper.application.mapper;
 
 import dr.app.gui.chart.*;
diff --git a/src/dr/app/mapper/application/menus/MapperDefaultFileMenuFactory.java b/src/dr/app/mapper/application/menus/MapperDefaultFileMenuFactory.java
index 3b216f2..0bef0d4 100644
--- a/src/dr/app/mapper/application/menus/MapperDefaultFileMenuFactory.java
+++ b/src/dr/app/mapper/application/menus/MapperDefaultFileMenuFactory.java
@@ -1,3 +1,28 @@
+/*
+ * MapperDefaultFileMenuFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.mapper.application.menus;
 
 import jam.framework.MenuFactory;
diff --git a/src/dr/app/mapper/application/menus/MapperFileMenuHandler.java b/src/dr/app/mapper/application/menus/MapperFileMenuHandler.java
index 7841d4e..39c55ed 100644
--- a/src/dr/app/mapper/application/menus/MapperFileMenuHandler.java
+++ b/src/dr/app/mapper/application/menus/MapperFileMenuHandler.java
@@ -1,3 +1,28 @@
+/*
+ * MapperFileMenuHandler.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.mapper.application.menus;
 
 import javax.swing.*;
diff --git a/src/dr/app/mapper/application/menus/MapperMacFileMenuFactory.java b/src/dr/app/mapper/application/menus/MapperMacFileMenuFactory.java
index bd68b92..b16eea2 100755
--- a/src/dr/app/mapper/application/menus/MapperMacFileMenuFactory.java
+++ b/src/dr/app/mapper/application/menus/MapperMacFileMenuFactory.java
@@ -1,3 +1,28 @@
+/*
+ * MapperMacFileMenuFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.mapper.application.menus;
 
 import jam.framework.MenuFactory;
diff --git a/src/dr/app/mapper/application/menus/MapperMenuBarFactory.java b/src/dr/app/mapper/application/menus/MapperMenuBarFactory.java
index 295abd8..9a98178 100644
--- a/src/dr/app/mapper/application/menus/MapperMenuBarFactory.java
+++ b/src/dr/app/mapper/application/menus/MapperMenuBarFactory.java
@@ -1,3 +1,28 @@
+/*
+ * MapperMenuBarFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.mapper.application.menus;
 
 import jam.framework.*;
diff --git a/src/dr/app/misc/Coevolve.java b/src/dr/app/misc/Coevolve.java
index d604522..06ec342 100644
--- a/src/dr/app/misc/Coevolve.java
+++ b/src/dr/app/misc/Coevolve.java
@@ -1,7 +1,7 @@
 /*
  * Coevolve.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/BeastGenerator.java b/src/dr/app/oldbeauti/BeastGenerator.java
index 44905f8..70f6f50 100644
--- a/src/dr/app/oldbeauti/BeastGenerator.java
+++ b/src/dr/app/oldbeauti/BeastGenerator.java
@@ -1,7 +1,7 @@
 /*
  * BeastGenerator.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/BeautiApp.java b/src/dr/app/oldbeauti/BeautiApp.java
index ae7d6b8..b411764 100644
--- a/src/dr/app/oldbeauti/BeautiApp.java
+++ b/src/dr/app/oldbeauti/BeautiApp.java
@@ -1,7 +1,7 @@
 /*
  * BeautiApp.java
  *
- * Copyright (C) 2002-2007 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/BeautiDefaultFileMenuFactory.java b/src/dr/app/oldbeauti/BeautiDefaultFileMenuFactory.java
index e9d502b..26eddf9 100644
--- a/src/dr/app/oldbeauti/BeautiDefaultFileMenuFactory.java
+++ b/src/dr/app/oldbeauti/BeautiDefaultFileMenuFactory.java
@@ -1,3 +1,28 @@
+/*
+ * BeautiDefaultFileMenuFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.oldbeauti;
 
 import jam.framework.AbstractFrame;
diff --git a/src/dr/app/oldbeauti/BeautiFrame.java b/src/dr/app/oldbeauti/BeautiFrame.java
index c8ad35e..97dc373 100644
--- a/src/dr/app/oldbeauti/BeautiFrame.java
+++ b/src/dr/app/oldbeauti/BeautiFrame.java
@@ -1,6 +1,31 @@
 /*
  * BeautiFrame.java
  *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
+ * BeautiFrame.java
+ *
  * (c) 2002-2005 BEAST Development Core Team
  *
  * This package may be distributed under the
diff --git a/src/dr/app/oldbeauti/BeautiMacFileMenuFactory.java b/src/dr/app/oldbeauti/BeautiMacFileMenuFactory.java
index 6667206..8c210ff 100755
--- a/src/dr/app/oldbeauti/BeautiMacFileMenuFactory.java
+++ b/src/dr/app/oldbeauti/BeautiMacFileMenuFactory.java
@@ -1,7 +1,7 @@
 /*
  * BeautiMacFileMenuFactory.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/BeautiMenuBarFactory.java b/src/dr/app/oldbeauti/BeautiMenuBarFactory.java
index db20150..a8badb9 100755
--- a/src/dr/app/oldbeauti/BeautiMenuBarFactory.java
+++ b/src/dr/app/oldbeauti/BeautiMenuBarFactory.java
@@ -1,7 +1,7 @@
 /*
  * BeautiMenuBarFactory.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/BeautiOptions.java b/src/dr/app/oldbeauti/BeautiOptions.java
index 5367184..74354fb 100644
--- a/src/dr/app/oldbeauti/BeautiOptions.java
+++ b/src/dr/app/oldbeauti/BeautiOptions.java
@@ -1,7 +1,7 @@
 /*
  * BeautiOptions.java
  *
- * Copyright (C) 2002-2007 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/BeautiTester.java b/src/dr/app/oldbeauti/BeautiTester.java
index 1a40457..df029e4 100644
--- a/src/dr/app/oldbeauti/BeautiTester.java
+++ b/src/dr/app/oldbeauti/BeautiTester.java
@@ -1,7 +1,7 @@
 /*
  * BeautiTester.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/CommandLineBeauti.java b/src/dr/app/oldbeauti/CommandLineBeauti.java
index bcb1b71..f2246c3 100755
--- a/src/dr/app/oldbeauti/CommandLineBeauti.java
+++ b/src/dr/app/oldbeauti/CommandLineBeauti.java
@@ -1,7 +1,7 @@
 /*
- * BeautiMacFileMenuFactory.java
+ * CommandLineBeauti.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/DataPanel.java b/src/dr/app/oldbeauti/DataPanel.java
index 8bb312e..e58e548 100644
--- a/src/dr/app/oldbeauti/DataPanel.java
+++ b/src/dr/app/oldbeauti/DataPanel.java
@@ -1,7 +1,7 @@
 /*
  * DataPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/DiscretePriorDialog.java b/src/dr/app/oldbeauti/DiscretePriorDialog.java
index 9c134e2..9200a17 100644
--- a/src/dr/app/oldbeauti/DiscretePriorDialog.java
+++ b/src/dr/app/oldbeauti/DiscretePriorDialog.java
@@ -1,3 +1,28 @@
+/*
+ * DiscretePriorDialog.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.oldbeauti;
 
 import dr.app.gui.components.RealNumberField;
diff --git a/src/dr/app/oldbeauti/GuessDatesException.java b/src/dr/app/oldbeauti/GuessDatesException.java
index c943358..94978e4 100644
--- a/src/dr/app/oldbeauti/GuessDatesException.java
+++ b/src/dr/app/oldbeauti/GuessDatesException.java
@@ -1,3 +1,28 @@
+/*
+ * GuessDatesException.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.oldbeauti;
 
 /**
diff --git a/src/dr/app/oldbeauti/MCMCPanel.java b/src/dr/app/oldbeauti/MCMCPanel.java
index e45d953..9fda70e 100644
--- a/src/dr/app/oldbeauti/MCMCPanel.java
+++ b/src/dr/app/oldbeauti/MCMCPanel.java
@@ -1,7 +1,7 @@
 /*
  * MCMCPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/ModelPanel.java b/src/dr/app/oldbeauti/ModelPanel.java
index c65cda4..4c1be1e 100644
--- a/src/dr/app/oldbeauti/ModelPanel.java
+++ b/src/dr/app/oldbeauti/ModelPanel.java
@@ -1,7 +1,7 @@
 /*
  * ModelPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/NexusApplicationImporter.java b/src/dr/app/oldbeauti/NexusApplicationImporter.java
index 293f18a..790d824 100644
--- a/src/dr/app/oldbeauti/NexusApplicationImporter.java
+++ b/src/dr/app/oldbeauti/NexusApplicationImporter.java
@@ -1,7 +1,7 @@
 /*
  * NexusApplicationImporter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/OperatorsPanel.java b/src/dr/app/oldbeauti/OperatorsPanel.java
index c7df528..1987dc6 100644
--- a/src/dr/app/oldbeauti/OperatorsPanel.java
+++ b/src/dr/app/oldbeauti/OperatorsPanel.java
@@ -1,7 +1,7 @@
 /*
  * OperatorsPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/PriorDialog.java b/src/dr/app/oldbeauti/PriorDialog.java
index 11d0409..9e67c1d 100644
--- a/src/dr/app/oldbeauti/PriorDialog.java
+++ b/src/dr/app/oldbeauti/PriorDialog.java
@@ -1,7 +1,7 @@
 /*
  * PriorDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/PriorType.java b/src/dr/app/oldbeauti/PriorType.java
index 24fc6be..cbf7bfa 100644
--- a/src/dr/app/oldbeauti/PriorType.java
+++ b/src/dr/app/oldbeauti/PriorType.java
@@ -1,3 +1,28 @@
+/*
+ * PriorType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.oldbeauti;
 
 import java.text.NumberFormat;
diff --git a/src/dr/app/oldbeauti/PriorsPanel.java b/src/dr/app/oldbeauti/PriorsPanel.java
index b718715..ac62b06 100644
--- a/src/dr/app/oldbeauti/PriorsPanel.java
+++ b/src/dr/app/oldbeauti/PriorsPanel.java
@@ -1,7 +1,7 @@
 /*
  * PriorsPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/TaxaPanel.java b/src/dr/app/oldbeauti/TaxaPanel.java
index 271bd3d..97fe0ef 100644
--- a/src/dr/app/oldbeauti/TaxaPanel.java
+++ b/src/dr/app/oldbeauti/TaxaPanel.java
@@ -1,7 +1,7 @@
 /*
- * TaxonSetPanel.java
+ * TaxaPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/oldbeauti/TreeUtils.java b/src/dr/app/oldbeauti/TreeUtils.java
index 02452a9..6feb23c 100644
--- a/src/dr/app/oldbeauti/TreeUtils.java
+++ b/src/dr/app/oldbeauti/TreeUtils.java
@@ -1,7 +1,7 @@
 /*
  * TreeUtils.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/oldbeauti/XMLWriter.java b/src/dr/app/oldbeauti/XMLWriter.java
index d1a687c..9437102 100644
--- a/src/dr/app/oldbeauti/XMLWriter.java
+++ b/src/dr/app/oldbeauti/XMLWriter.java
@@ -1,7 +1,7 @@
 /*
  * XMLWriter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/pathogen/ParentPlot.java b/src/dr/app/pathogen/ParentPlot.java
index 3aa3e8b..50818ab 100644
--- a/src/dr/app/pathogen/ParentPlot.java
+++ b/src/dr/app/pathogen/ParentPlot.java
@@ -1,7 +1,7 @@
 /*
- * LinePlot.java
+ * ParentPlot.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/pathogen/PathogenApp.java b/src/dr/app/pathogen/PathogenApp.java
index b667392..ae4d759 100644
--- a/src/dr/app/pathogen/PathogenApp.java
+++ b/src/dr/app/pathogen/PathogenApp.java
@@ -1,7 +1,7 @@
 /*
- * BeautiApp.java
+ * PathogenApp.java
  *
- * Copyright (C) 2002-2007 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -39,7 +39,7 @@ import java.awt.*;
  */
 public class PathogenApp extends MultiDocApplication {
     private final static Version version = new Version() {
-        private static final String VERSION = "1.4.1";
+        private static final String VERSION = "1.5";
 
         public String getVersion() {
             return VERSION;
@@ -50,7 +50,7 @@ public class PathogenApp extends MultiDocApplication {
         }
 
         public String getDateString() {
-            return "2013";
+            return "2003-2015";
         }
 
         public String getBuildString() {
diff --git a/src/dr/app/pathogen/PathogenDefaultFileMenuFactory.java b/src/dr/app/pathogen/PathogenDefaultFileMenuFactory.java
index f47a1eb..6ed1ff1 100644
--- a/src/dr/app/pathogen/PathogenDefaultFileMenuFactory.java
+++ b/src/dr/app/pathogen/PathogenDefaultFileMenuFactory.java
@@ -1,3 +1,28 @@
+/*
+ * PathogenDefaultFileMenuFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.pathogen;
 
 import jam.framework.AbstractFrame;
diff --git a/src/dr/app/pathogen/PathogenFrame.java b/src/dr/app/pathogen/PathogenFrame.java
index b06971d..d165df1 100644
--- a/src/dr/app/pathogen/PathogenFrame.java
+++ b/src/dr/app/pathogen/PathogenFrame.java
@@ -1,4 +1,29 @@
 /*
+ * PathogenFrame.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
  * BeautiFrame.java
  *
  * (c) 2002-2005 BEAST Development Core Team
@@ -16,8 +41,15 @@ import dr.evolution.util.TaxonList;
 import dr.app.tools.NexusExporter;
 import dr.stats.Regression;
 import dr.util.NumberFormatter;
+import figtree.treeviewer.TreeViewer;
 import jam.framework.DocumentFrame;
 import jam.framework.Exportable;
+import jam.panels.SearchPanel;
+import jam.panels.SearchPanelListener;
+import jam.toolbar.Toolbar;
+import jam.toolbar.ToolbarAction;
+import jam.toolbar.ToolbarButton;
+import jam.util.IconUtils;
 
 import javax.swing.*;
 import javax.swing.plaf.BorderUIResource;
@@ -35,16 +67,12 @@ import java.util.*;
  */
 public class PathogenFrame extends DocumentFrame {
 
-    /**
-     *
-     */
     private static final long serialVersionUID = 2114148696789612509L;
 
     private JTabbedPane tabbedPane = new JTabbedPane();
     private JLabel statusLabel = new JLabel("No data loaded");
 
-    private SamplesPanel samplesPanel;
-    private TreesPanel treesPanel;
+    private PathogenPanel pathogenPanel;
 
     TaxonList taxa = null;
     java.util.List<Tree> trees = new ArrayList<Tree>();
@@ -76,16 +104,12 @@ public class PathogenFrame extends DocumentFrame {
 
     public void initializeComponents() {
 
-        samplesPanel = new SamplesPanel(this, taxa);
-        treesPanel = new TreesPanel(this, trees.get(0));
+        pathogenPanel = new PathogenPanel(this, taxa, trees.get(0));
 
-        tabbedPane.addTab("Sample Dates", samplesPanel);
-        tabbedPane.addTab("Analysis", treesPanel);
-
-        JPanel panel = new JPanel(new BorderLayout(6, 6));
-        panel.setBorder(new BorderUIResource.EmptyBorderUIResource(new Insets(12, 12, 12, 12)));
-        panel.add(tabbedPane, BorderLayout.CENTER);
+        JPanel panel = new JPanel(new BorderLayout(0, 0));
+        panel.add(pathogenPanel, BorderLayout.CENTER);
 
+        statusLabel.setBorder(new BorderUIResource.EmptyBorderUIResource(new Insets(0, 12, 6, 12)));
         panel.add(statusLabel, BorderLayout.SOUTH);
 
         getContentPane().setLayout(new BorderLayout(0, 0));
@@ -97,7 +121,7 @@ public class PathogenFrame extends DocumentFrame {
     }
 
     public void timeScaleChanged() {
-        treesPanel.timeScaleChanged();
+        pathogenPanel.timeScaleChanged();
         setStatusMessage();
     }
 
@@ -217,9 +241,9 @@ public class PathogenFrame extends DocumentFrame {
 
     protected void writeTimeTreeFile(PrintStream ps) throws IOException {
 
-        FlexibleTree tree = new FlexibleTree(treesPanel.getTreeAsViewed());
+        FlexibleTree tree = new FlexibleTree(pathogenPanel.getTreeAsViewed());
 
-        Regression r = treesPanel.getTemporalRooting().getRootToTipRegression(treesPanel.getTreeAsViewed());
+        Regression r = pathogenPanel.getTemporalRooting().getRootToTipRegression(pathogenPanel.getTreeAsViewed());
 
         for (int i = 0; i < tree.getInternalNodeCount(); i++) {
             NodeRef node = tree.getInternalNode(i);
@@ -236,7 +260,7 @@ public class PathogenFrame extends DocumentFrame {
 
     protected void writeTreeFile(PrintStream ps, boolean newickFormat) throws IOException {
 
-        Tree tree = treesPanel.getTreeAsViewed();
+        Tree tree = pathogenPanel.getTreeAsViewed();
 
 //        if (newickFormat) {
 //            NewickExporter newickExporter = new NewickExporter(ps);
@@ -264,7 +288,7 @@ public class PathogenFrame extends DocumentFrame {
             Writer writer = null;
             try {
                 writer = new PrintWriter(file);
-                treesPanel.writeDataFile(writer);
+                pathogenPanel.writeDataFile(writer);
                 writer.close();
             } catch (IOException ioe) {
                 JOptionPane.showMessageDialog(this, "Error writing data file: " + ioe.getMessage(),
@@ -276,12 +300,12 @@ public class PathogenFrame extends DocumentFrame {
     }
 
     private void setStatusMessage() {
-        Tree tree = treesPanel.getTree();
+        Tree tree = pathogenPanel.getTree();
         if (tree != null) {
             String message = "";
             message += "Tree loaded, " + tree.getTaxonCount() + " taxa";
 
-            TemporalRooting tr = treesPanel.getTemporalRooting();
+            TemporalRooting tr = pathogenPanel.getTemporalRooting();
             if (tr.isContemporaneous()) {
                 message += ", contemporaneous tips";
             } else {
@@ -311,7 +335,7 @@ public class PathogenFrame extends DocumentFrame {
         StringWriter writer = new StringWriter();
         PrintWriter pwriter = new PrintWriter(writer);
 
-        for (String tip : treesPanel.getSelectedTips()) {
+        for (String tip : pathogenPanel.getSelectedTips()) {
             pwriter.println(tip);
         }
 
@@ -360,4 +384,5 @@ public class PathogenFrame extends DocumentFrame {
         }
     };
 
+
 }
\ No newline at end of file
diff --git a/src/dr/app/pathogen/PathogenMacFileMenuFactory.java b/src/dr/app/pathogen/PathogenMacFileMenuFactory.java
index d182db8..69d9353 100755
--- a/src/dr/app/pathogen/PathogenMacFileMenuFactory.java
+++ b/src/dr/app/pathogen/PathogenMacFileMenuFactory.java
@@ -1,7 +1,7 @@
 /*
- * BeautiMacFileMenuFactory.java
+ * PathogenMacFileMenuFactory.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -61,12 +61,35 @@ public class PathogenMacFileMenuFactory implements MenuFactory {
         item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, MenuBarFactory.MENU_MASK));
         menu.add(item);
 
-        item = new JMenuItem(frame.getSaveAction());
-        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, MenuBarFactory.MENU_MASK));
-        menu.add(item);
+        if (frame != null) {
+            item = new JMenuItem(frame.getCloseWindowAction());
+            item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W, MenuBarFactory.MENU_MASK));
+            menu.add(item);
 
-        item = new JMenuItem(frame.getSaveAsAction());
-        menu.add(item);
+            item = new JMenuItem(frame.getSaveAction());
+            item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, MenuBarFactory.MENU_MASK));
+            menu.add(item);
+
+            item = new JMenuItem(frame.getSaveAsAction());
+            item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, MenuBarFactory.MENU_MASK + ActionEvent.SHIFT_MASK));
+            menu.add(item);
+        } else {
+            // No frame available so create a disabled menu for the default menu bar
+            item = new JMenuItem("Close");
+            item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W, MenuBarFactory.MENU_MASK));
+            item.setEnabled(false);
+            menu.add(item);
+
+            item = new JMenuItem("Save");
+            item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, MenuBarFactory.MENU_MASK));
+            item.setEnabled(false);
+            menu.add(item);
+
+            item = new JMenuItem("Save As...");
+            item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, MenuBarFactory.MENU_MASK + ActionEvent.SHIFT_MASK));
+            item.setEnabled(false);
+            menu.add(item);
+        }
 
         menu.addSeparator();
 
@@ -108,19 +131,27 @@ public class PathogenMacFileMenuFactory implements MenuFactory {
 
         menu.addSeparator();
 
-        item = new JMenuItem(frame.getCloseWindowAction());
-        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W, MenuBarFactory.MENU_MASK));
-        menu.add(item);
+        if (frame != null) {
+            item = new JMenuItem(frame.getPrintAction());
+            item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, MenuBarFactory.MENU_MASK));
+            menu.add(item);
 
-        menu.addSeparator();
+            item = new JMenuItem(application.getPageSetupAction());
+            item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, MenuBarFactory.MENU_MASK + ActionEvent.SHIFT_MASK));
+            menu.add(item);
 
-        item = new JMenuItem(frame.getPrintAction());
-        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, MenuBarFactory.MENU_MASK));
-        menu.add(item);
+        } else {
+            // No frame available so create a disabled menu for the default menu bar
+            item = new JMenuItem("Print...");
+            item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, MenuBarFactory.MENU_MASK));
+            item.setEnabled(false);
+            menu.add(item);
 
-        item = new JMenuItem(application.getPageSetupAction());
-        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, MenuBarFactory.MENU_MASK + ActionEvent.SHIFT_MASK));
-        menu.add(item);
+            item = new JMenuItem("Page Setup...");
+            item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, MenuBarFactory.MENU_MASK + ActionEvent.SHIFT_MASK));
+            item.setEnabled(false);
+            menu.add(item);
+        }
 
     }
 
diff --git a/src/dr/app/pathogen/PathogenMenuBarFactory.java b/src/dr/app/pathogen/PathogenMenuBarFactory.java
index e9c95c0..32f0162 100755
--- a/src/dr/app/pathogen/PathogenMenuBarFactory.java
+++ b/src/dr/app/pathogen/PathogenMenuBarFactory.java
@@ -1,7 +1,7 @@
 /*
- * BeautiMenuBarFactory.java
+ * PathogenMenuBarFactory.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -25,6 +25,7 @@
 
 package dr.app.pathogen;
 
+import jam.mac.MacEditMenuFactory;
 import jam.mac.MacHelpMenuFactory;
 import jam.mac.MacWindowMenuFactory;
 import jam.framework.DefaultMenuBarFactory;
@@ -39,7 +40,7 @@ public class PathogenMenuBarFactory extends DefaultMenuBarFactory {
 	public PathogenMenuBarFactory() {
 		if (OSType.isMac()) {
 			registerMenuFactory(new PathogenMacFileMenuFactory());
-			registerMenuFactory(new DefaultEditMenuFactory());
+			registerMenuFactory(new MacEditMenuFactory());
 			registerMenuFactory(new MacWindowMenuFactory());
 			registerMenuFactory(new MacHelpMenuFactory());
 		} else {
diff --git a/src/dr/app/pathogen/PathogenPanel.java b/src/dr/app/pathogen/PathogenPanel.java
new file mode 100644
index 0000000..0a2a3a9
--- /dev/null
+++ b/src/dr/app/pathogen/PathogenPanel.java
@@ -0,0 +1,910 @@
+/*
+ * PathogenPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.app.pathogen;
+
+import dr.app.gui.chart.*;
+import dr.app.gui.util.LongTask;
+import dr.evolution.tree.NodeRef;
+import dr.evolution.tree.Tree;
+import dr.evolution.util.TaxonList;
+import dr.math.MathUtils;
+import dr.stats.DiscreteStatistics;
+import dr.stats.Regression;
+import dr.stats.Variate;
+import dr.util.NumberFormatter;
+import figtree.panel.FigTreePanel;
+import figtree.panel.SimpleControlPalette;
+import figtree.panel.SimpleTreeViewer;
+import figtree.treeviewer.TreePaneSelector;
+import figtree.treeviewer.TreeSelectionListener;
+import figtree.treeviewer.TreeViewer;
+import jam.framework.Exportable;
+import jam.panels.SearchPanel;
+import jam.panels.SearchPanelListener;
+import jam.table.TableRenderer;
+import jam.toolbar.Toolbar;
+import jam.toolbar.ToolbarAction;
+import jam.toolbar.ToolbarButton;
+import jam.util.IconUtils;
+import jebl.evolution.graphs.Node;
+import jebl.evolution.taxa.Taxon;
+import jebl.evolution.trees.RootedTree;
+
+import javax.swing.*;
+import javax.swing.plaf.BorderUIResource;
+import javax.swing.table.AbstractTableModel;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.PrintWriter;
+import java.io.Writer;
+import java.text.DecimalFormat;
+import java.util.*;
+import java.util.List;
+
+/**
+ * @author Andrew Rambaut
+ * @author Alexei Drummond
+ * @version $Id: PriorsPanel.java,v 1.9 2006/09/05 13:29:34 rambaut Exp $
+ */
+public class PathogenPanel extends JPanel implements Exportable {
+
+    public static final String COLOUR = "Colour...";
+    public static final String CLEAR_COLOURING = "Clear Colouring...";
+
+    StatisticsModel statisticsModel;
+    JTable statisticsTable = null;
+
+    private Tree tree = null;
+    private Tree currentTree = null;
+    private Tree bestFittingRootTree = null;
+
+    private final PathogenFrame frame;
+    private final JTabbedPane tabbedPane = new JTabbedPane();
+    private final JTextArea textArea = new JTextArea();
+    private final JCheckBox showMRCACheck = new JCheckBox("Show ancestor traces");
+
+    //    JTreeDisplay treePanel;
+    private final SamplesPanel samplesPanel;
+    private final FigTreePanel treePanel;
+
+    private SearchPanel filterPanel;
+    private JPopupMenu filterPopup;
+
+    JChartPanel rootToTipPanel;
+    JChart rootToTipChart;
+    ScatterPlot rootToTipPlot;
+
+    private static final boolean SHOW_NODE_DENSITY = true;
+    JChartPanel nodeDensityPanel;
+    JChart nodeDensityChart;
+    ScatterPlot nodeDensityPlot;
+
+    JChartPanel residualPanel;
+    JChart residualChart;
+    ScatterPlot residualPlot;
+
+    ErrorBarPlot errorBarPlot;
+    ParentPlot mrcaPlot;
+
+    Map<Node, Integer> pointMap = new HashMap<Node, Integer>();
+
+    Set<Integer> selectedPoints = new HashSet<Integer>();
+
+    private boolean bestFittingRoot;
+    private TemporalRooting.RootingFunction rootingFunction;
+    private TemporalRooting temporalRooting = null;
+
+    public PathogenPanel(PathogenFrame parent, TaxonList taxa, Tree tree) {
+        frame = parent;
+
+        samplesPanel = new SamplesPanel(parent, taxa);
+
+        tabbedPane.addTab("Sample Dates", samplesPanel);
+
+        statisticsModel = new StatisticsModel();
+        statisticsTable = new JTable(statisticsModel);
+
+        statisticsTable.getColumnModel().getColumn(0).setCellRenderer(
+                new TableRenderer(SwingConstants.RIGHT, new Insets(0, 4, 0, 4)));
+        statisticsTable.getColumnModel().getColumn(1).setCellRenderer(
+                new TableRenderer(SwingConstants.LEFT, new Insets(0, 4, 0, 4)));
+
+        JScrollPane scrollPane = new JScrollPane(statisticsTable,
+                JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
+                JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
+
+        Box controlPanel1 = new Box(BoxLayout.PAGE_AXIS);
+        controlPanel1.setOpaque(false);
+
+        JPanel panel3 = new JPanel(new BorderLayout(0, 0));
+        panel3.setOpaque(false);
+        rootingCheck = new JCheckBox("Best-fitting root");
+        panel3.add(rootingCheck, BorderLayout.CENTER);
+
+        controlPanel1.add(panel3);
+
+        final JComboBox rootingFunctionCombo = new JComboBox(TemporalRooting.RootingFunction.values());
+
+        JPanel panel4 = new JPanel(new BorderLayout(0,0));
+        panel4.setOpaque(false);
+        panel4.add(new JLabel("Function: "), BorderLayout.WEST);
+        panel4.add(rootingFunctionCombo, BorderLayout.CENTER);
+        controlPanel1.add(panel4);
+
+        JPanel panel1 = new JPanel(new BorderLayout(0, 0));
+
+        panel1.setOpaque(false);
+        panel1.add(scrollPane, BorderLayout.CENTER);
+        panel1.add(controlPanel1, BorderLayout.NORTH);
+
+        // Set up tree panel
+
+        Toolbar toolBar = new Toolbar();
+        toolBar.setOpaque(false);
+        toolBar.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, Color.darkGray));
+
+        toolBar.setRollover(true);
+        toolBar.setFloatable(false);
+
+        Icon colourToolIcon = IconUtils.getIcon(this.getClass(), "images/coloursTool.png");
+
+        final ToolbarAction colourToolbarAction = new ToolbarAction("Colour", COLOUR, colourToolIcon) {
+            public void actionPerformed(ActionEvent e){
+                colourSelected();
+            }
+        };
+        ToolbarButton colourToolButton = new ToolbarButton(colourToolbarAction, true);
+        colourToolButton.setFocusable(false);
+        toolBar.addComponent(colourToolButton);
+
+        toolBar.addFlexibleSpace();
+
+        filterPopup = new JPopupMenu();
+
+        final ButtonGroup bg = new ButtonGroup();
+        boolean first = true;
+        for (TreeViewer.TextSearchType searchType : TreeViewer.TextSearchType.values()) {
+            final JCheckBoxMenuItem menuItem = new JCheckBoxMenuItem(searchType.toString());
+            if (first) {
+                menuItem.setSelected(true);
+                first = false;
+            }
+            filterPopup.add(menuItem);
+            bg.add(menuItem);
+        }
+        filterPanel = new SearchPanel("Filter", filterPopup, true);
+        filterPanel.setOpaque(false);
+//        filterPanel.getSearchText().requestFocus();
+        filterPanel.addSearchPanelListener(new SearchPanelListener() {
+
+            /**
+             * Called when the user requests a search by pressing return having
+             * typed a search string into the text field. If the continuousUpdate
+             * flag is true then this method is called when the user types into
+             * the text field.
+             *
+             * @param searchString the user's search string
+             */
+            public void searchStarted(String searchString) {
+                Enumeration e = bg.getElements();
+                String value = null;
+                while (e.hasMoreElements()) {
+                    AbstractButton button = (AbstractButton)e.nextElement();
+                    if (button.isSelected()) {
+                        value = button.getText();
+                    }
+                }
+
+                for (TreeViewer.TextSearchType searchType : TreeViewer.TextSearchType.values()) {
+                    if (searchType.toString().equals(value)) {
+                        treePanel.getTreeViewer().selectTaxa("!name", searchType, searchString, false);
+                    }
+                }
+            }
+
+            /**
+             * Called when the user presses the cancel search button or presses
+             * escape while the search is in focus.
+             */
+            public void searchStopped() {
+//                treeViewer.clearSelectedTaxa();
+            }
+        });
+
+        JPanel panel5 = new JPanel(new FlowLayout());
+        panel5.setOpaque(false);
+        panel5.add(filterPanel);
+        toolBar.addComponent(panel5);
+
+        treePanel = new FigTreePanel(FigTreePanel.Style.SIMPLE);
+
+        JPanel panel2 = new JPanel(new BorderLayout(0, 0));
+        panel2.setOpaque(false);
+        panel2.add(treePanel, BorderLayout.CENTER);
+        panel2.add(toolBar, BorderLayout.NORTH);
+
+        tabbedPane.add("Tree", panel2);
+
+        treePanel.getTreeViewer().setSelectionMode(TreePaneSelector.SelectionMode.TAXA);
+        treePanel.getTreeViewer().addTreeSelectionListener(new TreeSelectionListener() {
+            public void selectionChanged() {
+                treeSelectionChanged();
+            }
+        });
+
+        rootToTipChart = new JChart(new LinearAxis(), new LinearAxis(Axis.AT_ZERO, Axis.AT_MINOR_TICK));
+
+        ChartSelector selector1 = new ChartSelector(rootToTipChart);
+
+        rootToTipPanel = new JChartPanel(rootToTipChart, "", "time", "divergence");
+        JPanel panel = new JPanel(new BorderLayout());
+        panel.add(rootToTipPanel, BorderLayout.CENTER);
+        panel.add(showMRCACheck, BorderLayout.SOUTH);
+        panel.setOpaque(false);
+
+        tabbedPane.add("Root-to-tip", panel);
+
+        residualChart = new JChart(new LinearAxis(), new LinearAxis(Axis.AT_ZERO, Axis.AT_MINOR_TICK));
+
+        ChartSelector selector2 = new ChartSelector(residualChart);
+
+        residualPanel = new JChartPanel(residualChart, "", "time", "residual");
+        residualPanel.setOpaque(false);
+
+        tabbedPane.add("Residuals", residualPanel);
+
+//        textArea.setEditable(false);
+
+        JPanel panel6 = new JPanel(new BorderLayout(0, 0));
+        panel6.setOpaque(false);
+        panel6.add(tabbedPane, BorderLayout.CENTER);
+//        panel6.add(textArea, BorderLayout.SOUTH);
+
+        if (SHOW_NODE_DENSITY) {
+            nodeDensityChart = new JChart(new LinearAxis(), new LinearAxis(Axis.AT_ZERO, Axis.AT_MINOR_TICK));
+            nodeDensityPanel = new JChartPanel(nodeDensityChart, "", "time", "node density");
+            JPanel panel7 = new JPanel(new BorderLayout());
+            panel7.add(nodeDensityPanel, BorderLayout.CENTER);
+            panel7.setOpaque(false);
+
+            ChartSelector selector3 = new ChartSelector(nodeDensityChart);
+
+            tabbedPane.add("Node density", panel7);
+        }
+
+
+        JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panel1, tabbedPane);
+        splitPane.setDividerLocation(220);
+        splitPane.setContinuousLayout(true);
+        splitPane.setBorder(BorderFactory.createEmptyBorder());
+        splitPane.setOpaque(false);
+
+        setOpaque(false);
+        setLayout(new BorderLayout(0, 0));
+        setBorder(new BorderUIResource.EmptyBorderUIResource(new java.awt.Insets(12, 12, 12, 12)));
+
+        add(splitPane, BorderLayout.CENTER);
+
+        rootingCheck.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                setBestFittingRoot(rootingCheck.isSelected(), (TemporalRooting.RootingFunction) rootingFunctionCombo.getSelectedItem());
+            }
+        });
+
+        rootingFunctionCombo.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                setBestFittingRoot(rootingCheck.isSelected(), (TemporalRooting.RootingFunction) rootingFunctionCombo.getSelectedItem());
+            }
+        });
+
+        showMRCACheck.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                setupPanel();
+            }
+        });
+
+
+        setTree(tree);
+    }
+
+    public List<String> getSelectedTips() {
+        List<String> tips = new ArrayList<String>();
+        jebl.evolution.trees.Tree tree = treePanel.getTreeViewer().getTrees().get(0);
+
+        for (Node node : treePanel.getTreeViewer().getSelectedTips()) {
+            tips.add(tree.getTaxon(node).getName());
+        }
+        return tips;
+    }
+
+    private static Color lastColor = Color.GRAY;
+
+    private void colourSelected() {
+        Color color = JColorChooser.showDialog(this, "Select Colour", lastColor);
+        if (color != null) {
+            treePanel.getTreeViewer().annotateSelectedTips("!color", color);
+            lastColor = color;
+        }
+        setupPanel();
+    }
+
+    private void treeSelectionChanged() {
+        Set<Node> selectedTips = treePanel.getTreeViewer().getSelectedTips();
+        frame.getCopyAction().setEnabled(selectedTips != null && selectedTips.size() > 0);
+        selectedPoints = new HashSet<Integer>();
+        for (Node node : selectedTips) {
+            selectedPoints.add(pointMap.get(node));
+        }
+        if (rootToTipPlot != null) {
+            rootToTipPlot.setSelectedPoints(selectedPoints);
+        }
+        if (residualPlot != null) {
+            residualPlot.setSelectedPoints(selectedPoints);
+        }
+        if (SHOW_NODE_DENSITY && nodeDensityPlot != null) {
+            nodeDensityPlot.setSelectedPoints(selectedPoints);
+        }
+
+        selectMRCA();
+    }
+
+    private void plotSelectionChanged(final Set<Integer> selectedPoints) {
+        this.selectedPoints = selectedPoints;
+        Set<String> selectedTaxa = new HashSet<String>();
+        for (Integer i : selectedPoints) {
+            selectedTaxa.add(tree.getTaxon(i).toString());
+        }
+
+        treePanel.getTreeViewer().selectTaxa(selectedTaxa);
+
+        selectMRCA();
+    }
+
+    private void selectMRCA() {
+        if (mrcaPlot == null) return;
+
+        if (selectedPoints != null && selectedPoints.size() > 0) {
+
+            Set<String> selectedTaxa = new HashSet<String>();
+            for (Integer i : selectedPoints) {
+                selectedTaxa.add(tree.getTaxon(i).toString());
+            }
+
+            Regression r = temporalRooting.getRootToTipRegression(currentTree);
+            NodeRef mrca = Tree.Utils.getCommonAncestorNode(currentTree, selectedTaxa);
+            double mrcaDistance1 = temporalRooting.getRootToTipDistance(currentTree, mrca);
+            double mrcaTime1 = r.getX(mrcaDistance1);
+            if (tree.isExternal(mrca)) {
+                mrca = tree.getParent(mrca);
+            }
+            double mrcaDistance = temporalRooting.getRootToTipDistance(currentTree, mrca);
+            double mrcaTime = r.getX(mrcaDistance);
+
+            mrcaPlot.setSelectedPoints(selectedPoints, mrcaTime, mrcaDistance);
+        } else {
+            mrcaPlot.clearSelection();
+        }
+        repaint();
+    }
+
+    public void timeScaleChanged() {
+        bestFittingRootTree = null;
+        if (rootingCheck.isSelected()) {
+            rootingCheck.setSelected(false);
+        } else {
+            setupPanel();
+        }
+    }
+
+    public JComponent getExportableComponent() {
+        return (JComponent) tabbedPane.getSelectedComponent();
+    }
+
+    public void setTree(Tree tree) {
+        this.tree = tree;
+        setupPanel();
+    }
+
+    public void setBestFittingRoot(boolean bestFittingRoot, final TemporalRooting.RootingFunction rootingFunction) {
+        this.bestFittingRoot = bestFittingRoot;
+        if (this.rootingFunction != rootingFunction) {
+            bestFittingRootTree = null;
+            this.rootingFunction = rootingFunction;
+        }
+        if (this.bestFittingRoot && bestFittingRootTree == null) {
+            findRoot();
+        }
+
+        setupPanel();
+    }
+
+    public Tree getTree() {
+        return tree;
+    }
+
+    public Tree getTreeAsViewed() {
+        return currentTree;
+    }
+
+    public void writeDataFile(Writer writer) {
+        PrintWriter pw = new PrintWriter(writer);
+        String labels[] = temporalRooting.getTipLabels(currentTree);
+        double yValues[] = temporalRooting.getRootToTipDistances(currentTree);
+
+        if (temporalRooting.isContemporaneous()) {
+            double meanY = DiscreteStatistics.mean(yValues);
+            pw.println("tip\tdistance\tdeviation");
+            for (int i = 0; i < yValues.length; i++) {
+                pw.println(labels[i] + "\t" + "\t" + yValues[i] + "\t" + (yValues[i] - meanY));
+            }
+        } else {
+            double xValues[] = temporalRooting.getTipDates(currentTree);
+            Regression r = temporalRooting.getRootToTipRegression(currentTree);
+            double[] residuals = temporalRooting.getRootToTipResiduals(currentTree, r);
+            pw.println("tip\tdate\tdistance\tresidual");
+            for (int i = 0; i < xValues.length; i++) {
+                pw.println(labels[i] + "\t" + xValues[i] + "\t" + yValues[i] + "\t" + residuals[i]);
+            }
+        }
+    }
+
+    public void setupPanel() {
+        StringBuilder sb = new StringBuilder();
+        NumberFormatter nf = new NumberFormatter(6);
+
+        if (tree != null) {
+            temporalRooting = new TemporalRooting(tree);
+            currentTree = this.tree;
+
+            if (bestFittingRoot && bestFittingRootTree != null) {
+                currentTree = bestFittingRootTree;
+                sb.append("Best-fitting root");
+            } else {
+                sb.append("User root");
+            }
+
+            if (temporalRooting.isContemporaneous()) {
+                if (tabbedPane.getSelectedIndex() == 2) {
+                    tabbedPane.setSelectedIndex(1);
+                }
+                tabbedPane.setEnabledAt(2, false);
+            } else {
+                tabbedPane.setEnabledAt(2, true);
+            }
+
+            RootedTree jtree = Tree.Utils.asJeblTree(currentTree);
+
+            List<Color> colours = new ArrayList<Color>();
+            for (Node tip : jtree.getExternalNodes()) {
+                Taxon taxon = jtree.getTaxon(tip);
+                colours.add((Color)taxon.getAttribute("!color"));
+            }
+
+            if (temporalRooting.isContemporaneous()) {
+                double[] dv = temporalRooting.getRootToTipDistances(currentTree);
+
+                List<Double> values = new ArrayList<Double>();
+                for (double d : dv) {
+                    values.add(d);
+                }
+
+                rootToTipChart.removeAllPlots();
+                NumericalDensityPlot dp = new NumericalDensityPlot(values, 20, null);
+                dp.setLineColor(new Color(9, 70, 15));
+
+                double yOffset = (Double) dp.getYData().getMax() / 2;
+                List<Double> dummyValues = new ArrayList<Double>();
+                for (int i = 0; i < values.size(); i++) {
+                    // add a random y offset to give some visual spread
+                    double y = MathUtils.nextGaussian() * ((Double) dp.getYData().getMax() * 0.05);
+                    dummyValues.add(yOffset + y);
+                }
+
+                rootToTipPlot = new ScatterPlot(values, dummyValues);
+                rootToTipPlot.setColours(colours);
+                rootToTipPlot.setMarkStyle(Plot.CIRCLE_MARK, 8, new BasicStroke(0.0F), new Color(44, 44, 44), new Color(129, 149, 149));
+                rootToTipPlot.setHilightedMarkStyle(new BasicStroke(0.5F), new Color(44, 44, 44), UIManager.getColor("List.selectionBackground"));
+                rootToTipPlot.addListener(new Plot.Adaptor() {
+                    @Override
+                    public void markClicked(int index, double x, double y, boolean isShiftDown) {
+                        rootToTipPlot.selectPoint(index, isShiftDown);
+                    }
+
+                    public void selectionChanged(final Set<Integer> selectedPoints) {
+                        plotSelectionChanged(selectedPoints);
+                    }
+                });
+
+                rootToTipChart.addPlot(rootToTipPlot);
+                rootToTipChart.addPlot(dp);
+                rootToTipPanel.setXAxisTitle("root-to-tip divergence");
+                rootToTipPanel.setYAxisTitle("proportion");
+
+                residualChart.removeAllPlots();
+
+                sb.append(", contemporaneous tips");
+                sb.append(", mean root-tip distance: " + nf.format(DiscreteStatistics.mean(dv)));
+                sb.append(", coefficient of variation: " + nf.format(DiscreteStatistics.stdev(dv) / DiscreteStatistics.mean(dv)));
+                sb.append(", stdev: " + nf.format(DiscreteStatistics.stdev(dv)));
+                sb.append(", variance: " + nf.format(DiscreteStatistics.variance(dv)));
+
+                showMRCACheck.setVisible(false);
+            } else {
+                Regression r = temporalRooting.getRootToTipRegression(currentTree);
+
+                double[] residuals = temporalRooting.getRootToTipResiduals(currentTree, r);
+                pointMap.clear();
+                for (int i = 0; i < currentTree.getExternalNodeCount(); i++) {
+                    NodeRef tip = currentTree.getExternalNode(i);
+                    Node node = jtree.getNode(Taxon.getTaxon(currentTree.getNodeTaxon(tip).getId()));
+                    node.setAttribute("residual", residuals[i]);
+
+                    pointMap.put(node, i);
+                }
+
+                rootToTipChart.removeAllPlots();
+
+                if (showMRCACheck.isSelected()) {
+                    double[] dv = temporalRooting.getParentRootToTipDistances(currentTree);
+
+                    List<Double> parentDistances = new ArrayList<Double>();
+                    for (int i = 0; i < dv.length; i++) {
+                        parentDistances.add(i, dv[i]);
+                    }
+
+                    List<Double> parentTimes = new ArrayList<Double>();
+                    for (int i = 0; i < parentDistances.size(); i++) {
+                        parentTimes.add(i, r.getX(parentDistances.get(i)));
+                    }
+                    mrcaPlot = new ParentPlot(r.getXData(), r.getYData(), parentTimes, parentDistances);
+                    mrcaPlot.setLineColor(new Color(105, 202, 105));
+                    mrcaPlot.setLineStroke(new BasicStroke(0.5F));
+
+                    rootToTipChart.addPlot(mrcaPlot);
+                }
+
+                if (true) {
+                    double[] datePrecisions = temporalRooting.getTipDatePrecisions(currentTree);
+
+                    Variate.D ed = new Variate.D();
+
+                    for (int i = 0; i < datePrecisions.length; i++) {
+                        ed.add(datePrecisions[i]);
+                    }
+
+                    errorBarPlot = new ErrorBarPlot(ErrorBarPlot.Orientation.HORIZONTAL, r.getXData(), r.getYData(), ed);
+                    errorBarPlot.setLineColor(new Color(44, 44, 44));
+                    errorBarPlot.setLineStroke(new BasicStroke(1.0F));
+
+                    rootToTipChart.addPlot(errorBarPlot);
+                }
+
+                rootToTipPlot = new ScatterPlot(r.getXData(), r.getYData());
+                rootToTipPlot.addListener(new Plot.Adaptor() {
+                    public void selectionChanged(final Set<Integer> selectedPoints) {
+                        plotSelectionChanged(selectedPoints);
+                    }
+                });
+
+                rootToTipPlot.setColours(colours);
+
+                rootToTipPlot.setMarkStyle(Plot.CIRCLE_MARK, 8, new BasicStroke(0.0F), new Color(44, 44, 44), new Color(129, 149, 149));
+                rootToTipPlot.setHilightedMarkStyle(new BasicStroke(0.5F), new Color(44, 44, 44), UIManager.getColor("List.selectionBackground"));
+
+                rootToTipChart.addPlot(rootToTipPlot);
+
+                rootToTipChart.addPlot(new RegressionPlot(r));
+
+                rootToTipChart.getXAxis().addRange(r.getXIntercept(), (Double) r.getXData().getMax());
+                rootToTipPanel.setXAxisTitle("time");
+                rootToTipPanel.setYAxisTitle("root-to-tip divergence");
+
+                residualChart.removeAllPlots();
+                Variate.D values = (Variate.D) r.getYResidualData();
+                NumericalDensityPlot dp = new NumericalDensityPlot(values, 20);
+                dp.setLineColor(new Color(103, 128, 144));
+
+                double yOffset = (Double) dp.getYData().getMax() / 2;
+                Double[] dummyValues = new Double[values.getCount()];
+                for (int i = 0; i < dummyValues.length; i++) {
+                    // add a random y offset to give some visual spread
+                    double y = MathUtils.nextGaussian() * ((Double) dp.getYData().getMax() * 0.05);
+                    dummyValues[i] = yOffset + y;
+                }
+                Variate.D yOffsetValues = new Variate.D(dummyValues);
+                residualPlot = new ScatterPlot(values, yOffsetValues);
+                residualPlot.addListener(new Plot.Adaptor() {
+                    @Override
+                    public void markClicked(int index, double x, double y, boolean isShiftDown) {
+                        rootToTipPlot.selectPoint(index, isShiftDown);
+                    }
+
+                    @Override
+                    public void selectionChanged(final Set<Integer> selectedPoints) {
+                        plotSelectionChanged(selectedPoints);
+                    }
+                });
+                residualPlot.setColours(colours);
+                residualPlot.setMarkStyle(Plot.CIRCLE_MARK, 8, new BasicStroke(0.0F), new Color(44, 44, 44), new Color(129, 149, 149));
+                residualPlot.setHilightedMarkStyle(new BasicStroke(0.5F), new Color(44, 44, 44), UIManager.getColor("List.selectionBackground"));
+
+                residualChart.addPlot(residualPlot);
+                residualChart.addPlot(dp);
+                residualPanel.setXAxisTitle("residual");
+                residualPanel.setYAxisTitle("proportion");
+
+//                residualChart.removeAllPlots();
+//                residualPlot = new ScatterPlot(r.getXData(), r.getYResidualData());
+//                residualPlot.addListener(new Plot.Adaptor() {
+//                    public void selectionChanged(final Set<Integer> selectedPoints) {
+//                        plotSelectionChanged(selectedPoints);
+//                    }
+//                });
+//                residualChart.addPlot(residualPlot);
+//                residualPanel.setXAxisTitle("residual");
+//                residualPanel.setYAxisTitle("proportion");
+
+                if (SHOW_NODE_DENSITY) {
+                    Regression r2 = temporalRooting.getNodeDensityRegression(currentTree);
+                    nodeDensityChart.removeAllPlots();
+                    nodeDensityPlot = new ScatterPlot(r2.getXData(), r2.getYData());
+                    nodeDensityPlot.addListener(new Plot.Adaptor() {
+                        public void selectionChanged(final Set<Integer> selectedPoints) {
+                            plotSelectionChanged(selectedPoints);
+                        }
+                    });
+                    nodeDensityPlot.setColours(colours);
+                    nodeDensityPlot.setMarkStyle(Plot.CIRCLE_MARK, 8, new BasicStroke(0.0F), new Color(44, 44, 44), new Color(129, 149, 149));
+                    nodeDensityPlot.setHilightedMarkStyle(new BasicStroke(0.5F), new Color(44, 44, 44), UIManager.getColor("List.selectionBackground"));
+
+                    nodeDensityChart.addPlot(nodeDensityPlot);
+
+                    nodeDensityChart.addPlot(new RegressionPlot(r2));
+
+                    nodeDensityChart.getXAxis().addRange(r2.getXIntercept(), (Double) r2.getXData().getMax());
+                    nodeDensityPanel.setXAxisTitle("time");
+                    nodeDensityPanel.setYAxisTitle("node density");
+                }
+
+                sb.append(", dated tips");
+                sb.append(", date range: " + nf.format(temporalRooting.getDateRange()));
+                sb.append(", slope (rate): " + nf.format(r.getGradient()));
+                sb.append(", x-intercept (TMRCA): " + nf.format(r.getXIntercept()));
+                sb.append(", corr. coeff: " + nf.format(r.getCorrelationCoefficient()));
+                sb.append(", R^2: " + nf.format(r.getRSquared()));
+
+                showMRCACheck.setVisible(true);
+            }
+
+            treePanel.setTree(jtree);
+            treePanel.setColourBy("residual");
+
+        } else {
+            treePanel.setTree(null);
+            rootToTipChart.removeAllPlots();
+            sb.append("No trees loaded");
+        }
+
+        textArea.setText(sb.toString());
+
+        statisticsModel.fireTableStructureChanged();
+        repaint();
+    }
+
+    private javax.swing.Timer timer = null;
+
+
+    private void findRoot() {
+
+//        bestFittingRootTree = temporalRooting.findRoot(tree);
+        final FindRootTask analyseTask = new FindRootTask();
+
+        final ProgressMonitor progressMonitor = new ProgressMonitor(frame,
+                "Finding best-fit root",
+                "", 0, tree.getNodeCount());
+        progressMonitor.setMillisToPopup(0);
+        progressMonitor.setMillisToDecideToPopup(0);
+
+        timer = new javax.swing.Timer(10, new ActionListener() {
+            public void actionPerformed(ActionEvent evt) {
+                progressMonitor.setProgress(analyseTask.getCurrent());
+                if (progressMonitor.isCanceled() || analyseTask.done()) {
+                    progressMonitor.close();
+                    analyseTask.stop();
+                    timer.stop();
+                }
+            }
+        });
+
+        analyseTask.go();
+        timer.start();
+
+    }
+
+    class FindRootTask extends LongTask {
+
+        public FindRootTask() {
+        }
+
+        public int getCurrent() {
+            return temporalRooting.getCurrentRootBranch();
+        }
+
+        public int getLengthOfTask() {
+            return temporalRooting.getTotalRootBranches();
+        }
+
+        public String getDescription() {
+            return "Calculating demographic reconstruction...";
+        }
+
+        public String getMessage() {
+            return null;
+        }
+
+        public Object doWork() {
+            bestFittingRootTree = temporalRooting.findRoot(tree, rootingFunction);
+            EventQueue.invokeLater(
+                    new Runnable() {
+                        public void run() {
+                            setupPanel();
+                        }
+                    });
+
+            return null;
+        }
+
+    }
+
+
+    public TemporalRooting getTemporalRooting() {
+        return temporalRooting;
+    }
+
+    class StatisticsModel extends AbstractTableModel {
+
+        String[] rowNamesDatedTips = {"Date range", "Slope (rate)", "X-Intercept (TMRCA)", "Correlation Coefficient", "R squared", "Residual Mean Squared"};
+        String[] rowNamesContemporaneousTips = {"Mean root-tip", "Coefficient of variation", "Stdev", "Variance"};
+
+        private DecimalFormat formatter = new DecimalFormat("0.####E0");
+        private DecimalFormat formatter2 = new DecimalFormat("####0.####");
+
+        public StatisticsModel() {
+        }
+
+        public int getColumnCount() {
+            return 2;
+        }
+
+        public int getRowCount() {
+            if (temporalRooting == null) {
+                return 0;
+            } else if (temporalRooting.isContemporaneous()) {
+                return rowNamesContemporaneousTips.length;
+            } else {
+                return rowNamesDatedTips.length;
+            }
+        }
+
+        public Object getValueAt(int row, int col) {
+
+            double value = 0;
+            if (temporalRooting.isContemporaneous()) {
+                if (col == 0) {
+                    return rowNamesContemporaneousTips[row];
+                }
+                double values[] = temporalRooting.getRootToTipDistances(currentTree);
+
+                switch (row) {
+                    case 0:
+                        value = DiscreteStatistics.mean(values);
+                        break;
+                    case 1:
+                        value = DiscreteStatistics.stdev(values) / DiscreteStatistics.mean(values);
+                        break;
+                    case 2:
+                        value = DiscreteStatistics.stdev(values);
+                        break;
+                    case 3:
+                        value = DiscreteStatistics.variance(values);
+                        break;
+                }
+            } else {
+                Regression r = temporalRooting.getRootToTipRegression(currentTree);
+                if (col == 0) {
+                    return rowNamesDatedTips[row];
+                }
+                switch (row) {
+                    case 0:
+                        value = temporalRooting.getDateRange();
+                        break;
+                    case 1:
+                        value = r.getGradient();
+                        break;
+                    case 2:
+                        value = r.getXIntercept();
+                        break;
+                    case 3:
+                        value = r.getCorrelationCoefficient();
+                        break;
+                    case 4:
+                        value = r.getRSquared();
+                        break;
+                    case 5:
+                        value = r.getResidualMeanSquared();
+                        break;
+                }
+            }
+
+            if (value > 0 && (Math.abs(value) < 0.1 || Math.abs(value) >= 100000.0)) {
+                return formatter.format(value);
+            } else return formatter2.format(value);
+        }
+
+        public String getColumnName(int column) {
+            if (column > 0) {
+                return "";
+            }
+            if (temporalRooting == null) {
+                return "No tree loaded";
+            } else if (temporalRooting.isContemporaneous()) {
+                return "Contemporaneous Tips";
+            } else {
+                return "Dated Tips";
+            }
+        }
+
+        public Class getColumnClass(int c) {
+            return getValueAt(0, c).getClass();
+        }
+
+        public String toString() {
+            StringBuffer buffer = new StringBuffer();
+
+            buffer.append(getColumnName(0));
+            for (int j = 1; j < getColumnCount(); j++) {
+                buffer.append("\t");
+                buffer.append(getColumnName(j));
+            }
+            buffer.append("\n");
+
+            for (int i = 0; i < getRowCount(); i++) {
+                buffer.append(getValueAt(i, 0));
+                for (int j = 1; j < getColumnCount(); j++) {
+                    buffer.append("\t");
+                    buffer.append(getValueAt(i, j));
+                }
+                buffer.append("\n");
+            }
+
+            return buffer.toString();
+        }
+    }
+
+    private JCheckBox rootingCheck;
+
+}
diff --git a/src/dr/app/pathogen/RootToTip.java b/src/dr/app/pathogen/RootToTip.java
index dc1878d..5f50d47 100644
--- a/src/dr/app/pathogen/RootToTip.java
+++ b/src/dr/app/pathogen/RootToTip.java
@@ -1,7 +1,7 @@
 /*
  * RootToTip.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
@@ -72,7 +72,7 @@ public class RootToTip {
 
         @Override
         public String getDateString() {
-            return "2003-2014";
+            return "2003-2015";
         }
 
         @Override
diff --git a/src/dr/app/pathogen/SamplesPanel.java b/src/dr/app/pathogen/SamplesPanel.java
index 4445a77..ef3d85b 100644
--- a/src/dr/app/pathogen/SamplesPanel.java
+++ b/src/dr/app/pathogen/SamplesPanel.java
@@ -1,7 +1,7 @@
 /*
  * SamplesPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/pathogen/TemporalRooting.java b/src/dr/app/pathogen/TemporalRooting.java
index c41ca99..39e641e 100644
--- a/src/dr/app/pathogen/TemporalRooting.java
+++ b/src/dr/app/pathogen/TemporalRooting.java
@@ -1,7 +1,7 @@
 /*
- * RootToTip.java
+ * TemporalRooting.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -41,6 +41,7 @@ import java.util.*;
 public class TemporalRooting {
 
     public enum RootingFunction {
+        HEURISTIC_RESIDUAL_MEAN_SQUARED("heuristic residual mean squared"),
         RESIDUAL_MEAN_SQUARED("residual mean squared"),
         //        SUM_RESIDUAL_SQUARED("sum squared residuals"),
         CORRELATION("correlation"),
@@ -300,6 +301,10 @@ public class TemporalRooting {
                                  final RootingFunction rootingFunction,
                                  final boolean forcePositiveRate) {
 
+        if (rootingFunction == RootingFunction.RESIDUAL_MEAN_SQUARED) {
+            return findAnalyticalLocalRoot(tree, dates, rootingFunction);
+        }
+
         NodeRef node1 = tree.getChild(tree.getRoot(), 0);
         NodeRef node2 = tree.getChild(tree.getRoot(), 1);
 
@@ -341,6 +346,7 @@ public class TemporalRooting {
                         case R_SQUARED:
                             score = -r.getRSquared();
                             break;
+                        case HEURISTIC_RESIDUAL_MEAN_SQUARED:
                         case RESIDUAL_MEAN_SQUARED:
                             score = r.getResidualMeanSquared();
                             break;
@@ -383,7 +389,6 @@ public class TemporalRooting {
         double x = minimum.findMinimum(f);
 
         double fminx = minimum.fminx;
-
         double l1 = x * sumLength;
         double l2 = (1.0 - x) * sumLength;
 
@@ -393,6 +398,86 @@ public class TemporalRooting {
         return fminx;
     }
 
+    private double findAnalyticalLocalRoot(final FlexibleTree tree,
+                                           final double[] t,
+                                           final RootingFunction rootingFunction) {
+
+        if (rootingFunction != RootingFunction.RESIDUAL_MEAN_SQUARED) {
+            throw new UnsupportedOperationException("Analytical local root solution only for residual mean squared");
+        }
+
+        NodeRef node1 = tree.getChild(tree.getRoot(), 0);
+        NodeRef node2 = tree.getChild(tree.getRoot(), 1);
+
+        final double length1 = tree.getBranchLength(node1);
+        final double length2 = tree.getBranchLength(node2);
+
+        final double sumLength = length1 + length2;
+
+        final Set<NodeRef> tipSet1 = Tree.Utils.getExternalNodes(tree, node1);
+        final Set<NodeRef> tipSet2 = Tree.Utils.getExternalNodes(tree, node2);
+        
+        int N = tipSet1.size() + tipSet2.size();
+        int n = tipSet2.size();
+   
+        final double[] c = new double[N];
+        for (NodeRef tip : tipSet2) {
+            int i = tip.getNumber();
+            c[i] = 1;
+        }
+        
+        final double[] y = getRootToTipDistances(tree);
+        for (int j = 0; j < y.length; j++) { // little fiddling with the root-to-tip divergences to get the right input vector
+        	y[j] = y[j] + (1-c[j])*(sumLength-length1) - c[j]*(sumLength-length1);
+        }
+        
+        double sum_tt = 0.0;
+        double sum_t = 0.0;
+        double sum_y = 0.0;
+        double sum_ty = 0.0;
+        double sum_tc = 0.0;
+
+        for (int i = 0; i < N; i++) {
+            sum_tt += t[i] * t[i];
+            sum_t += t[i];
+            sum_y += y[i];
+            sum_ty += t[i] * y[i];
+            sum_tc += t[i] * c[i];
+        }
+        double y_bar = sum_y / N;
+        double t_bar = sum_t / N;
+
+        double C = sum_tt - (sum_t * sum_t / N);
+        double sumAB = 0.0;
+        double sumAA = 0.0;
+        double Nd = N;
+        double nd = n;  // need to set these naughty ones to doubles
+        for (int i = 0; i < N; i++) {
+            double Ai = 2*c[i] - 
+            		    ((2*nd-Nd)/Nd) +
+            		(2*(t_bar-t[i])/(C*Nd))*(Nd*sum_tc - nd*sum_t) - 1;
+            double Bi = (y[i] - y_bar)
+                    + ((t_bar - t[i]) / (C * Nd)) * ((Nd * sum_ty) - (sum_t * sum_y));
+
+            sumAB += Ai * Bi;
+            sumAA += Ai * Ai;
+        }
+
+        double x = -sumAB / (sumLength * sumAA);
+        x = Math.min(Math.max(x, 0.0), 1.0);
+
+        double l1 = (1.0 - x) * sumLength;
+        double l2 = x * sumLength;
+        
+        
+        tree.setBranchLength(node1, l1);
+        tree.setBranchLength(node2, l2);
+        
+        Regression r = new Regression(t, getRootToTipDistances(tree));
+        
+        return r.getResidualMeanSquared();
+    }
+
     public double getRootToTipDistance(Tree tree, NodeRef node) {
         double distance = 0;
         while (node != null) {
@@ -507,5 +592,4 @@ public class TemporalRooting {
         }
     }
 
-
-}
\ No newline at end of file
+}
diff --git a/src/dr/app/pathogen/TemporalStress.java b/src/dr/app/pathogen/TemporalStress.java
index 35af9e6..7449a2a 100644
--- a/src/dr/app/pathogen/TemporalStress.java
+++ b/src/dr/app/pathogen/TemporalStress.java
@@ -1,3 +1,28 @@
+/*
+ * TemporalStress.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.pathogen;
 
 import java.util.*;
diff --git a/src/dr/app/pathogen/TreeUtils.java b/src/dr/app/pathogen/TreeUtils.java
index 5f85e88..98d3628 100644
--- a/src/dr/app/pathogen/TreeUtils.java
+++ b/src/dr/app/pathogen/TreeUtils.java
@@ -1,7 +1,7 @@
 /*
  * TreeUtils.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/pathogen/TreesPanel.java b/src/dr/app/pathogen/TreesPanel.java
deleted file mode 100644
index 49700ca..0000000
--- a/src/dr/app/pathogen/TreesPanel.java
+++ /dev/null
@@ -1,785 +0,0 @@
-/*
- * PriorsPanel.java
- *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
- *
- * This file is part of BEAST.
- * See the NOTICE file distributed with this work for additional
- * information regarding copyright ownership and licensing.
- *
- * BEAST 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; either version 2
- * of the License, or (at your option) any later version.
- *
- *  BEAST is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with BEAST; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA  02110-1301  USA
- */
-
-package dr.app.pathogen;
-
-import dr.app.gui.chart.*;
-import dr.app.gui.util.LongTask;
-import dr.evolution.tree.NodeRef;
-import dr.evolution.tree.Tree;
-import dr.math.MathUtils;
-import dr.stats.DiscreteStatistics;
-import dr.stats.Regression;
-import dr.stats.Variate;
-import dr.util.NumberFormatter;
-import figtree.panel.FigTreePanel;
-import figtree.treeviewer.TreePaneSelector;
-import figtree.treeviewer.TreeSelectionListener;
-import jam.framework.Exportable;
-import jam.table.TableRenderer;
-import jebl.evolution.graphs.Node;
-import jebl.evolution.taxa.Taxon;
-import jebl.evolution.trees.RootedTree;
-
-import javax.swing.*;
-import javax.swing.plaf.BorderUIResource;
-import javax.swing.table.AbstractTableModel;
-import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.io.PrintWriter;
-import java.io.Writer;
-import java.text.DecimalFormat;
-import java.util.*;
-import java.util.List;
-
-/**
- * @author Andrew Rambaut
- * @author Alexei Drummond
- * @version $Id: PriorsPanel.java,v 1.9 2006/09/05 13:29:34 rambaut Exp $
- */
-public class TreesPanel extends JPanel implements Exportable {
-
-    StatisticsModel statisticsModel;
-    JTable statisticsTable = null;
-
-    private Tree tree = null;
-    private Tree currentTree = null;
-    private Tree bestFittingRootTree = null;
-
-    private final PathogenFrame frame;
-    private final JTabbedPane tabbedPane = new JTabbedPane();
-    private final JTextArea textArea = new JTextArea();
-    private final JCheckBox showMRCACheck = new JCheckBox("Show ancestor traces");
-
-    //    JTreeDisplay treePanel;
-    private final FigTreePanel treePanel;
-
-    JChartPanel rootToTipPanel;
-    JChart rootToTipChart;
-    ScatterPlot rootToTipPlot;
-
-    private static final boolean SHOW_NODE_DENSITY = true;
-    JChartPanel nodeDensityPanel;
-    JChart nodeDensityChart;
-    ScatterPlot nodeDensityPlot;
-
-    JChartPanel residualPanel;
-    JChart residualChart;
-    ScatterPlot residualPlot;
-
-    ErrorBarPlot errorBarPlot;
-    ParentPlot mrcaPlot;
-
-    Map<Node, Integer> pointMap = new HashMap<Node, Integer>();
-
-    Set<Integer> selectedPoints = new HashSet<Integer>();
-
-    private boolean bestFittingRoot;
-    private TemporalRooting.RootingFunction rootingFunction;
-    private TemporalRooting temporalRooting = null;
-
-    public TreesPanel(PathogenFrame parent, Tree tree) {
-        frame = parent;
-
-        statisticsModel = new StatisticsModel();
-        statisticsTable = new JTable(statisticsModel);
-
-        statisticsTable.getColumnModel().getColumn(0).setCellRenderer(
-                new TableRenderer(SwingConstants.RIGHT, new Insets(0, 4, 0, 4)));
-        statisticsTable.getColumnModel().getColumn(1).setCellRenderer(
-                new TableRenderer(SwingConstants.LEFT, new Insets(0, 4, 0, 4)));
-
-        JScrollPane scrollPane = new JScrollPane(statisticsTable,
-                JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
-                JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-
-//        JToolBar toolBar1 = new JToolBar();
-//        toolBar1.setFloatable(false);
-//        toolBar1.setOpaque(false);
-//        toolBar1.setLayout(new FlowLayout(java.awt.FlowLayout.LEFT, 0, 0));
-        Box controlPanel1 = new Box(BoxLayout.PAGE_AXIS);
-        controlPanel1.setOpaque(false);
-
-        JPanel panel3 = new JPanel(new BorderLayout(0, 0));
-        panel3.setOpaque(false);
-        rootingCheck = new JCheckBox("Best-fitting root");
-        panel3.add(rootingCheck, BorderLayout.CENTER);
-
-        controlPanel1.add(panel3);
-
-        final JComboBox rootingFunctionCombo = new JComboBox(TemporalRooting.RootingFunction.values());
-
-        JPanel panel4 = new JPanel(new BorderLayout(0,0));
-        panel4.setOpaque(false);
-        panel4.add(new JLabel("Function: "), BorderLayout.WEST);
-        panel4.add(rootingFunctionCombo, BorderLayout.CENTER);
-        controlPanel1.add(panel4);
-
-        JPanel panel1 = new JPanel(new BorderLayout(0, 0));
-
-        panel1.setOpaque(false);
-        panel1.add(scrollPane, BorderLayout.CENTER);
-        panel1.add(controlPanel1, BorderLayout.NORTH);
-
-
-        treePanel = new FigTreePanel(FigTreePanel.Style.SIMPLE);
-        tabbedPane.add("Tree", treePanel);
-
-        treePanel.getTreeViewer().setSelectionMode(TreePaneSelector.SelectionMode.TAXA);
-        treePanel.getTreeViewer().addTreeSelectionListener(new TreeSelectionListener() {
-            public void selectionChanged() {
-                treeSelectionChanged();
-            }
-        });
-
-        rootToTipChart = new JChart(new LinearAxis(), new LinearAxis(Axis.AT_ZERO, Axis.AT_MINOR_TICK));
-
-        ChartSelector selector1 = new ChartSelector(rootToTipChart);
-
-        rootToTipPanel = new JChartPanel(rootToTipChart, "", "time", "divergence");
-        JPanel panel = new JPanel(new BorderLayout());
-        panel.add(rootToTipPanel, BorderLayout.CENTER);
-        panel.add(showMRCACheck, BorderLayout.SOUTH);
-        panel.setOpaque(false);
-
-        tabbedPane.add("Root-to-tip", panel);
-
-        residualChart = new JChart(new LinearAxis(), new LinearAxis(Axis.AT_ZERO, Axis.AT_MINOR_TICK));
-
-        ChartSelector selector2 = new ChartSelector(residualChart);
-
-        residualPanel = new JChartPanel(residualChart, "", "time", "residual");
-        residualPanel.setOpaque(false);
-
-        tabbedPane.add("Residuals", residualPanel);
-
-//        textArea.setEditable(false);
-
-        JPanel panel2 = new JPanel(new BorderLayout(0, 0));
-        panel2.setOpaque(false);
-        panel2.add(tabbedPane, BorderLayout.CENTER);
-//        panel2.add(textArea, BorderLayout.SOUTH);
-
-        if (SHOW_NODE_DENSITY) {
-            nodeDensityChart = new JChart(new LinearAxis(), new LinearAxis(Axis.AT_ZERO, Axis.AT_MINOR_TICK));
-            nodeDensityPanel = new JChartPanel(nodeDensityChart, "", "time", "node density");
-            JPanel panel5 = new JPanel(new BorderLayout());
-            panel5.add(nodeDensityPanel, BorderLayout.CENTER);
-            panel5.setOpaque(false);
-
-            ChartSelector selector3 = new ChartSelector(nodeDensityChart);
-
-            tabbedPane.add("Node density", panel5);
-        }
-
-
-        JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panel1, panel2);
-        splitPane.setDividerLocation(220);
-        splitPane.setContinuousLayout(true);
-        splitPane.setBorder(BorderFactory.createEmptyBorder());
-        splitPane.setOpaque(false);
-
-        setOpaque(false);
-        setLayout(new BorderLayout(0, 0));
-        setBorder(new BorderUIResource.EmptyBorderUIResource(new java.awt.Insets(12, 12, 12, 12)));
-
-        add(splitPane, BorderLayout.CENTER);
-
-        rootingCheck.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent e) {
-                setBestFittingRoot(rootingCheck.isSelected(), (TemporalRooting.RootingFunction) rootingFunctionCombo.getSelectedItem());
-            }
-        });
-
-        rootingFunctionCombo.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent e) {
-                setBestFittingRoot(rootingCheck.isSelected(), (TemporalRooting.RootingFunction) rootingFunctionCombo.getSelectedItem());
-            }
-        });
-
-        showMRCACheck.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent e) {
-                setupPanel();
-            }
-        });
-
-
-        setTree(tree);
-    }
-
-    public List<String> getSelectedTips() {
-        List<String> tips = new ArrayList<String>();
-        jebl.evolution.trees.Tree tree = treePanel.getTreeViewer().getTrees().get(0);
-
-        for (Node node : treePanel.getTreeViewer().getSelectedTips()) {
-            tips.add(tree.getTaxon(node).getName());
-        }
-        return tips;
-    }
-
-    private void treeSelectionChanged() {
-        Set<Node> selectedTips = treePanel.getTreeViewer().getSelectedTips();
-        frame.getCopyAction().setEnabled(selectedTips != null && selectedTips.size() > 0);
-        selectedPoints = new HashSet<Integer>();
-        for (Node node : selectedTips) {
-            selectedPoints.add(pointMap.get(node));
-        }
-        if (rootToTipPlot != null) {
-            rootToTipPlot.setSelectedPoints(selectedPoints);
-        }
-        if (residualPlot != null) {
-            residualPlot.setSelectedPoints(selectedPoints);
-        }
-        if (SHOW_NODE_DENSITY && nodeDensityPlot != null) {
-            nodeDensityPlot.setSelectedPoints(selectedPoints);
-        }
-
-        selectMRCA();
-    }
-
-    private void plotSelectionChanged(final Set<Integer> selectedPoints) {
-        this.selectedPoints = selectedPoints;
-        Set<String> selectedTaxa = new HashSet<String>();
-        for (Integer i : selectedPoints) {
-            selectedTaxa.add(tree.getTaxon(i).toString());
-        }
-
-        treePanel.getTreeViewer().selectTaxa(selectedTaxa);
-
-        selectMRCA();
-    }
-
-    private void selectMRCA() {
-        if (mrcaPlot == null) return;
-
-        if (selectedPoints != null && selectedPoints.size() > 0) {
-
-            Set<String> selectedTaxa = new HashSet<String>();
-            for (Integer i : selectedPoints) {
-                selectedTaxa.add(tree.getTaxon(i).toString());
-            }
-
-            Regression r = temporalRooting.getRootToTipRegression(currentTree);
-            NodeRef mrca = Tree.Utils.getCommonAncestorNode(currentTree, selectedTaxa);
-            double mrcaDistance1 = temporalRooting.getRootToTipDistance(currentTree, mrca);
-            double mrcaTime1 = r.getX(mrcaDistance1);
-            if (tree.isExternal(mrca)) {
-                mrca = tree.getParent(mrca);
-            }
-            double mrcaDistance = temporalRooting.getRootToTipDistance(currentTree, mrca);
-            double mrcaTime = r.getX(mrcaDistance);
-
-            mrcaPlot.setSelectedPoints(selectedPoints, mrcaTime, mrcaDistance);
-        } else {
-            mrcaPlot.clearSelection();
-        }
-        repaint();
-    }
-
-    public void timeScaleChanged() {
-        bestFittingRootTree = null;
-        if (rootingCheck.isSelected()) {
-            rootingCheck.setSelected(false);
-        } else {
-            setupPanel();
-        }
-    }
-
-    public JComponent getExportableComponent() {
-        return (JComponent) tabbedPane.getSelectedComponent();
-    }
-
-    public void setTree(Tree tree) {
-        this.tree = tree;
-        setupPanel();
-    }
-
-    public void setBestFittingRoot(boolean bestFittingRoot, final TemporalRooting.RootingFunction rootingFunction) {
-        this.bestFittingRoot = bestFittingRoot;
-        if (this.rootingFunction != rootingFunction) {
-            bestFittingRootTree = null;
-            this.rootingFunction = rootingFunction;
-        }
-        if (this.bestFittingRoot && bestFittingRootTree == null) {
-            findRoot();
-        }
-
-        setupPanel();
-    }
-
-    public Tree getTree() {
-        return tree;
-    }
-
-    public Tree getTreeAsViewed() {
-        return currentTree;
-    }
-
-    public void writeDataFile(Writer writer) {
-        PrintWriter pw = new PrintWriter(writer);
-        String labels[] = temporalRooting.getTipLabels(currentTree);
-        double yValues[] = temporalRooting.getRootToTipDistances(currentTree);
-
-        if (temporalRooting.isContemporaneous()) {
-            double meanY = DiscreteStatistics.mean(yValues);
-            pw.println("tip\tdistance\tdeviation");
-            for (int i = 0; i < yValues.length; i++) {
-                pw.println(labels[i] + "\t" + "\t" + yValues[i] + "\t" + (yValues[i] - meanY));
-            }
-        } else {
-            double xValues[] = temporalRooting.getTipDates(currentTree);
-            Regression r = temporalRooting.getRootToTipRegression(currentTree);
-            double[] residuals = temporalRooting.getRootToTipResiduals(currentTree, r);
-            pw.println("tip\tdate\tdistance\tresidual");
-            for (int i = 0; i < xValues.length; i++) {
-                pw.println(labels[i] + "\t" + xValues[i] + "\t" + yValues[i] + "\t" + residuals[i]);
-            }
-        }
-    }
-
-    public void setupPanel() {
-        StringBuilder sb = new StringBuilder();
-        NumberFormatter nf = new NumberFormatter(6);
-
-        if (tree != null) {
-            temporalRooting = new TemporalRooting(tree);
-            currentTree = this.tree;
-
-            if (bestFittingRoot && bestFittingRootTree != null) {
-                currentTree = bestFittingRootTree;
-                sb.append("Best-fitting root");
-            } else {
-                sb.append("User root");
-            }
-
-            if (temporalRooting.isContemporaneous()) {
-                if (tabbedPane.getSelectedIndex() == 2) {
-                    tabbedPane.setSelectedIndex(1);
-                }
-                tabbedPane.setEnabledAt(2, false);
-            } else {
-                tabbedPane.setEnabledAt(2, true);
-            }
-
-            RootedTree jtree = Tree.Utils.asJeblTree(currentTree);
-
-            if (temporalRooting.isContemporaneous()) {
-                double[] dv = temporalRooting.getRootToTipDistances(currentTree);
-
-                List<Double> values = new ArrayList<Double>();
-                for (double d : dv) {
-                    values.add(d);
-                }
-
-                rootToTipChart.removeAllPlots();
-                NumericalDensityPlot dp = new NumericalDensityPlot(values, 20, null);
-                dp.setLineColor(new Color(9, 70, 15));
-
-                double yOffset = (Double) dp.getYData().getMax() / 2;
-                List<Double> dummyValues = new ArrayList<Double>();
-                for (int i = 0; i < values.size(); i++) {
-                    // add a random y offset to give some visual spread
-                    double y = MathUtils.nextGaussian() * ((Double) dp.getYData().getMax() * 0.05);
-                    dummyValues.add(yOffset + y);
-                }
-
-                rootToTipPlot = new ScatterPlot(values, dummyValues);
-                rootToTipPlot.setMarkStyle(Plot.CIRCLE_MARK, 5, new BasicStroke(0.5F), new Color(44, 44, 44), new Color(249, 202, 105));
-                rootToTipPlot.setHilightedMarkStyle(new BasicStroke(0.5F), new Color(44, 44, 44), UIManager.getColor("List.selectionBackground"));
-                rootToTipPlot.addListener(new Plot.Adaptor() {
-                    @Override
-                    public void markClicked(int index, double x, double y, boolean isShiftDown) {
-                        rootToTipPlot.selectPoint(index, isShiftDown);
-                    }
-
-                    public void selectionChanged(final Set<Integer> selectedPoints) {
-                        plotSelectionChanged(selectedPoints);
-                    }
-                });
-
-                rootToTipChart.addPlot(rootToTipPlot);
-                rootToTipChart.addPlot(dp);
-                rootToTipPanel.setXAxisTitle("root-to-tip divergence");
-                rootToTipPanel.setYAxisTitle("proportion");
-
-                residualChart.removeAllPlots();
-
-                sb.append(", contemporaneous tips");
-                sb.append(", mean root-tip distance: " + nf.format(DiscreteStatistics.mean(dv)));
-                sb.append(", coefficient of variation: " + nf.format(DiscreteStatistics.stdev(dv) / DiscreteStatistics.mean(dv)));
-                sb.append(", stdev: " + nf.format(DiscreteStatistics.stdev(dv)));
-                sb.append(", variance: " + nf.format(DiscreteStatistics.variance(dv)));
-
-                showMRCACheck.setVisible(false);
-            } else {
-                Regression r = temporalRooting.getRootToTipRegression(currentTree);
-
-                double[] residuals = temporalRooting.getRootToTipResiduals(currentTree, r);
-                pointMap.clear();
-                for (int i = 0; i < currentTree.getExternalNodeCount(); i++) {
-                    NodeRef tip = currentTree.getExternalNode(i);
-                    Node node = jtree.getNode(Taxon.getTaxon(currentTree.getNodeTaxon(tip).getId()));
-                    node.setAttribute("residual", residuals[i]);
-
-                    pointMap.put(node, i);
-                }
-
-                rootToTipChart.removeAllPlots();
-
-                if (showMRCACheck.isSelected()) {
-                    double[] dv = temporalRooting.getParentRootToTipDistances(currentTree);
-
-                    List<Double> parentDistances = new ArrayList<Double>();
-                    for (int i = 0; i < dv.length; i++) {
-                        parentDistances.add(i, dv[i]);
-                    }
-
-                    List<Double> parentTimes = new ArrayList<Double>();
-                    for (int i = 0; i < parentDistances.size(); i++) {
-                        parentTimes.add(i, r.getX(parentDistances.get(i)));
-                    }
-                    mrcaPlot = new ParentPlot(r.getXData(), r.getYData(), parentTimes, parentDistances);
-                    mrcaPlot.setLineColor(new Color(105, 202, 105));
-                    mrcaPlot.setLineStroke(new BasicStroke(0.5F));
-
-                    rootToTipChart.addPlot(mrcaPlot);
-                }
-
-                if (true) {
-                    double[] datePrecisions = temporalRooting.getTipDatePrecisions(currentTree);
-
-                    Variate.D ed = new Variate.D();
-
-                    for (int i = 0; i < datePrecisions.length; i++) {
-                        ed.add(datePrecisions[i]);
-                    }
-
-                    errorBarPlot = new ErrorBarPlot(ErrorBarPlot.Orientation.HORIZONTAL, r.getXData(), r.getYData(), ed);
-                    errorBarPlot.setLineColor(new Color(44, 44, 44));
-                    errorBarPlot.setLineStroke(new BasicStroke(1.0F));
-
-                    rootToTipChart.addPlot(errorBarPlot);
-                }
-
-                rootToTipPlot = new ScatterPlot(r.getXData(), r.getYData());
-                rootToTipPlot.addListener(new Plot.Adaptor() {
-                    public void selectionChanged(final Set<Integer> selectedPoints) {
-                        plotSelectionChanged(selectedPoints);
-                    }
-                });
-                rootToTipPlot.setMarkStyle(Plot.CIRCLE_MARK, 5, new BasicStroke(0.5F), new Color(44, 44, 44), new Color(249, 202, 105));
-                rootToTipPlot.setHilightedMarkStyle(new BasicStroke(0.5F), new Color(44, 44, 44), UIManager.getColor("List.selectionBackground"));
-
-                rootToTipChart.addPlot(rootToTipPlot);
-
-                rootToTipChart.addPlot(new RegressionPlot(r));
-
-                rootToTipChart.getXAxis().addRange(r.getXIntercept(), (Double) r.getXData().getMax());
-                rootToTipPanel.setXAxisTitle("time");
-                rootToTipPanel.setYAxisTitle("root-to-tip divergence");
-
-                residualChart.removeAllPlots();
-                Variate.D values = (Variate.D) r.getYResidualData();
-                NumericalDensityPlot dp = new NumericalDensityPlot(values, 20);
-                dp.setLineColor(new Color(103, 128, 144));
-
-                double yOffset = (Double) dp.getYData().getMax() / 2;
-                Double[] dummyValues = new Double[values.getCount()];
-                for (int i = 0; i < dummyValues.length; i++) {
-                    // add a random y offset to give some visual spread
-                    double y = MathUtils.nextGaussian() * ((Double) dp.getYData().getMax() * 0.05);
-                    dummyValues[i] = yOffset + y;
-                }
-                Variate.D yOffsetValues = new Variate.D(dummyValues);
-                residualPlot = new ScatterPlot(values, yOffsetValues);
-                residualPlot.addListener(new Plot.Adaptor() {
-                    @Override
-                    public void markClicked(int index, double x, double y, boolean isShiftDown) {
-                        rootToTipPlot.selectPoint(index, isShiftDown);
-                    }
-
-                    @Override
-                    public void selectionChanged(final Set<Integer> selectedPoints) {
-                        plotSelectionChanged(selectedPoints);
-                    }
-                });
-                residualPlot.setMarkStyle(Plot.CIRCLE_MARK, 5, new BasicStroke(0.5F), new Color(44, 44, 44), new Color(249, 202, 105));
-                residualPlot.setHilightedMarkStyle(new BasicStroke(0.5F), new Color(44, 44, 44), UIManager.getColor("List.selectionBackground"));
-
-                residualChart.addPlot(residualPlot);
-                residualChart.addPlot(dp);
-                residualPanel.setXAxisTitle("residual");
-                residualPanel.setYAxisTitle("proportion");
-
-//                residualChart.removeAllPlots();
-//                residualPlot = new ScatterPlot(r.getXData(), r.getYResidualData());
-//                residualPlot.addListener(new Plot.Adaptor() {
-//                    public void selectionChanged(final Set<Integer> selectedPoints) {
-//                        plotSelectionChanged(selectedPoints);
-//                    }
-//                });
-//                residualChart.addPlot(residualPlot);
-//                residualPanel.setXAxisTitle("residual");
-//                residualPanel.setYAxisTitle("proportion");
-
-                if (SHOW_NODE_DENSITY) {
-                    Regression r2 = temporalRooting.getNodeDensityRegression(currentTree);
-                    nodeDensityChart.removeAllPlots();
-                    nodeDensityPlot = new ScatterPlot(r2.getXData(), r2.getYData());
-                    nodeDensityPlot.addListener(new Plot.Adaptor() {
-                        public void selectionChanged(final Set<Integer> selectedPoints) {
-                            plotSelectionChanged(selectedPoints);
-                        }
-                    });
-                    nodeDensityPlot.setMarkStyle(Plot.CIRCLE_MARK, 5, new BasicStroke(0.5F), new Color(44, 44, 44), new Color(249, 202, 105));
-                    nodeDensityPlot.setHilightedMarkStyle(new BasicStroke(0.5F), new Color(44, 44, 44), UIManager.getColor("List.selectionBackground"));
-
-                    nodeDensityChart.addPlot(nodeDensityPlot);
-
-                    nodeDensityChart.addPlot(new RegressionPlot(r2));
-
-                    nodeDensityChart.getXAxis().addRange(r2.getXIntercept(), (Double) r2.getXData().getMax());
-                    nodeDensityPanel.setXAxisTitle("time");
-                    nodeDensityPanel.setYAxisTitle("node density");
-                }
-
-                sb.append(", dated tips");
-                sb.append(", date range: " + nf.format(temporalRooting.getDateRange()));
-                sb.append(", slope (rate): " + nf.format(r.getGradient()));
-                sb.append(", x-intercept (TMRCA): " + nf.format(r.getXIntercept()));
-                sb.append(", corr. coeff: " + nf.format(r.getCorrelationCoefficient()));
-                sb.append(", R^2: " + nf.format(r.getRSquared()));
-
-                showMRCACheck.setVisible(true);
-            }
-
-            treePanel.setTree(jtree);
-            treePanel.setColourBy("residual");
-
-        } else {
-            treePanel.setTree(null);
-            rootToTipChart.removeAllPlots();
-            sb.append("No trees loaded");
-        }
-
-        textArea.setText(sb.toString());
-
-        statisticsModel.fireTableStructureChanged();
-        repaint();
-    }
-
-    private javax.swing.Timer timer = null;
-
-
-    private void findRoot() {
-
-//        bestFittingRootTree = temporalRooting.findRoot(tree);
-        final FindRootTask analyseTask = new FindRootTask();
-
-        final ProgressMonitor progressMonitor = new ProgressMonitor(frame,
-                "Finding best-fit root",
-                "", 0, tree.getNodeCount());
-        progressMonitor.setMillisToPopup(0);
-        progressMonitor.setMillisToDecideToPopup(0);
-
-        timer = new javax.swing.Timer(10, new ActionListener() {
-            public void actionPerformed(ActionEvent evt) {
-                progressMonitor.setProgress(analyseTask.getCurrent());
-                if (progressMonitor.isCanceled() || analyseTask.done()) {
-                    progressMonitor.close();
-                    analyseTask.stop();
-                    timer.stop();
-                }
-            }
-        });
-
-        analyseTask.go();
-        timer.start();
-
-    }
-
-    class FindRootTask extends LongTask {
-
-        public FindRootTask() {
-        }
-
-        public int getCurrent() {
-            return temporalRooting.getCurrentRootBranch();
-        }
-
-        public int getLengthOfTask() {
-            return temporalRooting.getTotalRootBranches();
-        }
-
-        public String getDescription() {
-            return "Calculating demographic reconstruction...";
-        }
-
-        public String getMessage() {
-            return null;
-        }
-
-        public Object doWork() {
-            bestFittingRootTree = temporalRooting.findRoot(tree, rootingFunction);
-            EventQueue.invokeLater(
-                    new Runnable() {
-                        public void run() {
-                            setupPanel();
-                        }
-                    });
-
-            return null;
-        }
-
-    }
-
-
-    public TemporalRooting getTemporalRooting() {
-        return temporalRooting;
-    }
-
-    class StatisticsModel extends AbstractTableModel {
-
-        String[] rowNamesDatedTips = {"Date range", "Slope (rate)", "X-Intercept (TMRCA)", "Correlation Coefficient", "R squared", "Residual Mean Squared"};
-        String[] rowNamesContemporaneousTips = {"Mean root-tip", "Coefficient of variation", "Stdev", "Variance"};
-
-        private DecimalFormat formatter = new DecimalFormat("0.####E0");
-        private DecimalFormat formatter2 = new DecimalFormat("####0.####");
-
-        public StatisticsModel() {
-        }
-
-        public int getColumnCount() {
-            return 2;
-        }
-
-        public int getRowCount() {
-            if (temporalRooting == null) {
-                return 0;
-            } else if (temporalRooting.isContemporaneous()) {
-                return rowNamesContemporaneousTips.length;
-            } else {
-                return rowNamesDatedTips.length;
-            }
-        }
-
-        public Object getValueAt(int row, int col) {
-
-            double value = 0;
-            if (temporalRooting.isContemporaneous()) {
-                if (col == 0) {
-                    return rowNamesContemporaneousTips[row];
-                }
-                double values[] = temporalRooting.getRootToTipDistances(currentTree);
-
-                switch (row) {
-                    case 0:
-                        value = DiscreteStatistics.mean(values);
-                        break;
-                    case 1:
-                        value = DiscreteStatistics.stdev(values) / DiscreteStatistics.mean(values);
-                        break;
-                    case 2:
-                        value = DiscreteStatistics.stdev(values);
-                        break;
-                    case 3:
-                        value = DiscreteStatistics.variance(values);
-                        break;
-                }
-            } else {
-                Regression r = temporalRooting.getRootToTipRegression(currentTree);
-                if (col == 0) {
-                    return rowNamesDatedTips[row];
-                }
-                switch (row) {
-                    case 0:
-                        value = temporalRooting.getDateRange();
-                        break;
-                    case 1:
-                        value = r.getGradient();
-                        break;
-                    case 2:
-                        value = r.getXIntercept();
-                        break;
-                    case 3:
-                        value = r.getCorrelationCoefficient();
-                        break;
-                    case 4:
-                        value = r.getRSquared();
-                        break;
-                    case 5:
-                        value = r.getResidualMeanSquared();
-                        break;
-                }
-            }
-
-            if (value > 0 && (Math.abs(value) < 0.1 || Math.abs(value) >= 100000.0)) {
-                return formatter.format(value);
-            } else return formatter2.format(value);
-        }
-
-        public String getColumnName(int column) {
-            if (column > 0) {
-                return "";
-            }
-            if (temporalRooting == null) {
-                return "No tree loaded";
-            } else if (temporalRooting.isContemporaneous()) {
-                return "Contemporaneous Tips";
-            } else {
-                return "Dated Tips";
-            }
-        }
-
-        public Class getColumnClass(int c) {
-            return getValueAt(0, c).getClass();
-        }
-
-        public String toString() {
-            StringBuffer buffer = new StringBuffer();
-
-            buffer.append(getColumnName(0));
-            for (int j = 1; j < getColumnCount(); j++) {
-                buffer.append("\t");
-                buffer.append(getColumnName(j));
-            }
-            buffer.append("\n");
-
-            for (int i = 0; i < getRowCount(); i++) {
-                buffer.append(getValueAt(i, 0));
-                for (int j = 1; j < getColumnCount(); j++) {
-                    buffer.append("\t");
-                    buffer.append(getValueAt(i, j));
-                }
-                buffer.append("\n");
-            }
-
-            return buffer.toString();
-        }
-    }
-
-    private JCheckBox rootingCheck;
-}
diff --git a/src/dr/app/pathogen/images/coloursTool.png b/src/dr/app/pathogen/images/coloursTool.png
new file mode 100755
index 0000000..a71ebe8
Binary files /dev/null and b/src/dr/app/pathogen/images/coloursTool.png differ
diff --git a/src/dr/app/phylogeography/tools/ContinuousKML.java b/src/dr/app/phylogeography/tools/ContinuousKML.java
index 3f15bd3..9eea098 100755
--- a/src/dr/app/phylogeography/tools/ContinuousKML.java
+++ b/src/dr/app/phylogeography/tools/ContinuousKML.java
@@ -1,7 +1,7 @@
 /*
  * ContinuousKML.java
  *
- * Copyright (C) 2002-2010 BEAST Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/phylogeography/tools/ContinuousTreeToKML.java b/src/dr/app/phylogeography/tools/ContinuousTreeToKML.java
index a435331..5fb720e 100755
--- a/src/dr/app/phylogeography/tools/ContinuousTreeToKML.java
+++ b/src/dr/app/phylogeography/tools/ContinuousTreeToKML.java
@@ -1,7 +1,7 @@
 /*
  * ContinuousTreeToKML.java
  *
- * Copyright (C) 2002-2010 BEAST Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/phylogeography/tools/DiscreteKMLString.java b/src/dr/app/phylogeography/tools/DiscreteKMLString.java
index 91dc58f..72c47fd 100755
--- a/src/dr/app/phylogeography/tools/DiscreteKMLString.java
+++ b/src/dr/app/phylogeography/tools/DiscreteKMLString.java
@@ -1,7 +1,7 @@
 /*
  * DiscreteKMLString.java
  *
- * Copyright (C) 2002-2010 BEAST Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/phylogeography/tools/DiscreteRatePriorGenerator.java b/src/dr/app/phylogeography/tools/DiscreteRatePriorGenerator.java
index d92b235..b64ffa3 100644
--- a/src/dr/app/phylogeography/tools/DiscreteRatePriorGenerator.java
+++ b/src/dr/app/phylogeography/tools/DiscreteRatePriorGenerator.java
@@ -1,7 +1,7 @@
 /*
  * DiscreteRatePriorGenerator.java
  *
- * Copyright (C) 2002-2010 BEAST Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/phylogeography/tools/DiscreteTreeToKML.java b/src/dr/app/phylogeography/tools/DiscreteTreeToKML.java
index 5ec2020..c17b99f 100644
--- a/src/dr/app/phylogeography/tools/DiscreteTreeToKML.java
+++ b/src/dr/app/phylogeography/tools/DiscreteTreeToKML.java
@@ -1,7 +1,7 @@
 /*
- * BetterDiscreteTreeToKML.java
+ * DiscreteTreeToKML.java
  *
- * Copyright (C) 2002-2010 BEAST Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/phylogeography/tools/RateIndicatorBF.java b/src/dr/app/phylogeography/tools/RateIndicatorBF.java
index 79a3ed5..95e670d 100644
--- a/src/dr/app/phylogeography/tools/RateIndicatorBF.java
+++ b/src/dr/app/phylogeography/tools/RateIndicatorBF.java
@@ -1,9 +1,7 @@
-package dr.app.phylogeography.tools;
-
 /*
  * RateIndicatorBF.java
  *
- * Copyright (C) 2002-2010 BEAST Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -25,6 +23,8 @@ package dr.app.phylogeography.tools;
  * Boston, MA  02110-1301  USA
  */
 
+package dr.app.phylogeography.tools;
+
 import dr.app.tools.TimeSlicer;
 import dr.app.util.Arguments;
 import dr.util.HeapSort;
@@ -217,34 +217,34 @@ public class RateIndicatorBF {
     //Diagonal entries in the Q matrices are omitted for obvious reasons. Note that if the frequencies are not equal
     //then the Q matrix is not symmetric even if the rates are.
 
-    private double[][] getQMatrices(){
+    private double[][] getQMatrices() {
 
         int firstRateIndicator = getFirstEntryOf(inputFileName, rateIndicatorString);
-        double[][] rateIndicators = new double[((generationCount - 1)-burnin)][rateCount];
+        double[][] rateIndicators = new double[((generationCount - 1) - burnin)][rateCount];
         fill2DArray(inputFileName, rateIndicators, burnin, firstRateIndicator, rateCount);
 
         boolean containsClockRate = hasEntryOf(inputFileName, clockRateString);
-        double[] clockRates = new double[(generationCount-1)-burnin];
+        double[] clockRates = new double[(generationCount - 1) - burnin];
         int clockColumn = getFirstEntryOf(inputFileName, clockRateString);
 
-        if(!containsClockRate){
+        if (!containsClockRate) {
             progressStream.println("WARNING: No overall clock rate entry found. Rates will be given assuming one " +
                     "transition (of any sort) per unit time; variation in clock rates will not be accounted for!");
-            Arrays.fill(clockRates,1);
+            Arrays.fill(clockRates, 1);
         } else {
             fill1DArray(inputFileName, clockRates, burnin, clockColumn);
         }
 
         //boolean to see it the rateLog contains productStatistics, if not, we make 'em ourselves
         boolean containsActualRates = hasEntryOf(inputFileName, actualRateString);
-        double[][] actualRates = new double[((generationCount - 1)-burnin)][rateCount];
-        if (!containsActualRates){
+        double[][] actualRates = new double[((generationCount - 1) - burnin)][rateCount];
+        if (!containsActualRates) {
             // if there are no actualRate entries, we will look for the relative rates instead
             int firstRelativeRate = getFirstEntryOf(inputFileName, relativeRateString);
             fill2DArray(inputFileName, actualRates, burnin, firstRelativeRate, rateCount);
-            for (int i=0;i<actualRates.length;i++){
-                for (int j=0;j<actualRates[i].length;j++){
-                    actualRates[i][j] = actualRates[i][j]*rateIndicators[i][j];
+            for (int i = 0; i < actualRates.length; i++) {
+                for (int j = 0; j < actualRates[i].length; j++) {
+                    actualRates[i][j] = actualRates[i][j] * rateIndicators[i][j];
                 }
             }
         } else {
@@ -254,10 +254,10 @@ public class RateIndicatorBF {
 
         //Double up the actual rate matrix for a nonreversible model - separate entries are needed for both directions
 
-        if(!nonreversible) {
-            double[][] tempActualRates = new double[((generationCount - 1)-burnin)][actualRates[0].length*2];
-            for(int gen=0; gen<(generationCount - 1) - burnin; gen++){
-                for(int col = 0; col<actualRates[0].length; col++){
+        if (!nonreversible) {
+            double[][] tempActualRates = new double[((generationCount - 1) - burnin)][actualRates[0].length * 2];
+            for (int gen = 0; gen < (generationCount - 1) - burnin; gen++) {
+                for (int col = 0; col < actualRates[0].length; col++) {
                     tempActualRates[gen][col] = actualRates[gen][col];
                     tempActualRates[gen][actualRates[0].length + col] = actualRates[gen][col];
                 }
@@ -266,39 +266,42 @@ public class RateIndicatorBF {
         }
 
         boolean containsFrequencies = hasEntryOf(inputFileName, frequencyString);
-        double[][] frequencies = new double[((generationCount - 1)-burnin)][stateCount];
-        if (!containsFrequencies){
+        double[][] frequencies = new double[((generationCount - 1) - burnin)][stateCount];
+        if (!containsFrequencies) {
             progressStream.println("No state frequencies recorded; assuming all equal.");
-            for (int i=0; i<((generationCount - 1)-burnin); i++){
-                Arrays.fill(frequencies[i],(1/(double)stateCount));
+            for (int i = 0; i < ((generationCount - 1) - burnin); i++) {
+                Arrays.fill(frequencies[i], (1 / (double) stateCount));
             }
         } else {
             int firstFrequency = getFirstEntryOf(inputFileName, frequencyString);
             fill2DArray(inputFileName, frequencies, burnin, firstFrequency, stateCount);
         }
 
-        double[][] QMatrixEntries = new double[((generationCount - 1)-burnin)][nonreversible ? rateCount : rateCount*2];
+        double[][] QMatrixEntries = new double[((generationCount - 1) - burnin)][nonreversible ? rateCount : rateCount * 2];
 
-        for(int generation = 0; generation<(generationCount - 1) - burnin; generation++){
+        for (int generation = 0; generation < (generationCount - 1) - burnin; generation++) {
             double normalisationConstant = 0;
-            for(int row = 0; row<stateCount; row++){
-                for(int column = 0; column<stateCount; column++){
+            for (int row = 0; row < stateCount; row++) {
+                double rowSum = 0;
+                for (int column = 0; column < stateCount; column++) {
                     int dataColumn = columnNumberLookup[row][column];
-                    if(dataColumn!=-1){
+                    if (dataColumn != -1) {
                         double unnormalisedMatrixEntry = actualRates[generation][dataColumn]
-                                *frequencies[generation][column];
-                        QMatrixEntries[generation][dataColumn]=unnormalisedMatrixEntry;
-                        normalisationConstant += unnormalisedMatrixEntry;
+                                * frequencies[generation][column];
+                        QMatrixEntries[generation][dataColumn] = unnormalisedMatrixEntry;
+                        rowSum += unnormalisedMatrixEntry;
                     }
                 }
+                normalisationConstant += rowSum * frequencies[generation][row];
+
             }
             //normalise to one transition per unit time and multiply by the clock rate
-            for(int row = 0; row<stateCount; row++){
-                for(int column =0; column<stateCount; column++){
+            for (int row = 0; row < stateCount; row++) {
+                for (int column = 0; column < stateCount; column++) {
                     int dataColumn = columnNumberLookup[row][column];
-                    if(dataColumn!=-1){
+                    if (dataColumn != -1) {
                         QMatrixEntries[generation][dataColumn] = QMatrixEntries[generation][dataColumn]
-                                *clockRates[generation]/normalisationConstant;
+                                * clockRates[generation] / normalisationConstant;
                     }
                 }
             }
diff --git a/src/dr/app/phylogeography/tools/TreeDensityKML.java b/src/dr/app/phylogeography/tools/TreeDensityKML.java
index 28fc249..de8aaff 100644
--- a/src/dr/app/phylogeography/tools/TreeDensityKML.java
+++ b/src/dr/app/phylogeography/tools/TreeDensityKML.java
@@ -1,7 +1,7 @@
 /*
- * TreeAnnotator.java
+ * TreeDensityKML.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/phylogeography/tools/TreeGeoJSONGenerator.java b/src/dr/app/phylogeography/tools/TreeGeoJSONGenerator.java
index b44c66e..b514b12 100644
--- a/src/dr/app/phylogeography/tools/TreeGeoJSONGenerator.java
+++ b/src/dr/app/phylogeography/tools/TreeGeoJSONGenerator.java
@@ -1,7 +1,7 @@
 /*
  * TreeGeoJSONGenerator.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/phylogeography/tools/TreeKMLGenerator.java b/src/dr/app/phylogeography/tools/TreeKMLGenerator.java
index 96db7f9..ccdb4c2 100644
--- a/src/dr/app/phylogeography/tools/TreeKMLGenerator.java
+++ b/src/dr/app/phylogeography/tools/TreeKMLGenerator.java
@@ -1,8 +1,7 @@
-package dr.app.phylogeography.tools;
 /*
- * ContinuousKML.java
+ * TreeKMLGenerator.java
  *
- * Copyright (C) 2002-2010 BEAST Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -24,6 +23,8 @@ package dr.app.phylogeography.tools;
  * Boston, MA  02110-1301  USA
  */
 
+package dr.app.phylogeography.tools;
+
 import dr.app.phylogeography.tools.kml.*;
 import jebl.evolution.trees.RootedTree;
 import jebl.evolution.graphs.Node;
diff --git a/src/dr/app/phylogeography/tools/kml/AnalysisType.java b/src/dr/app/phylogeography/tools/kml/AnalysisType.java
index 04735d5..0869230 100644
--- a/src/dr/app/phylogeography/tools/kml/AnalysisType.java
+++ b/src/dr/app/phylogeography/tools/kml/AnalysisType.java
@@ -1,3 +1,28 @@
+/*
+ * AnalysisType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.phylogeography.tools.kml;
 
 /**
diff --git a/src/dr/app/phylogeography/tools/kml/BranchStyle.java b/src/dr/app/phylogeography/tools/kml/BranchStyle.java
index 7381722..163451b 100644
--- a/src/dr/app/phylogeography/tools/kml/BranchStyle.java
+++ b/src/dr/app/phylogeography/tools/kml/BranchStyle.java
@@ -1,3 +1,28 @@
+/*
+ * BranchStyle.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.phylogeography.tools.kml;
 
 import java.awt.*;
diff --git a/src/dr/app/phylogeography/tools/kml/LineStyle.java b/src/dr/app/phylogeography/tools/kml/LineStyle.java
index 22edf1e..ff4b1ac 100644
--- a/src/dr/app/phylogeography/tools/kml/LineStyle.java
+++ b/src/dr/app/phylogeography/tools/kml/LineStyle.java
@@ -1,3 +1,28 @@
+/*
+ * LineStyle.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.phylogeography.tools.kml;
 
 import java.awt.*;
diff --git a/src/dr/app/phylogeography/tools/kml/Location.java b/src/dr/app/phylogeography/tools/kml/Location.java
index 96a89c9..5d5f0e5 100644
--- a/src/dr/app/phylogeography/tools/kml/Location.java
+++ b/src/dr/app/phylogeography/tools/kml/Location.java
@@ -1,3 +1,28 @@
+/*
+ * Location.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.phylogeography.tools.kml;
 
 /**
diff --git a/src/dr/app/phylogeography/tools/kml/Settings.java b/src/dr/app/phylogeography/tools/kml/Settings.java
index 8901904..cac34ce 100644
--- a/src/dr/app/phylogeography/tools/kml/Settings.java
+++ b/src/dr/app/phylogeography/tools/kml/Settings.java
@@ -1,3 +1,28 @@
+/*
+ * Settings.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.phylogeography.tools.kml;
 
 import java.util.List;
diff --git a/src/dr/app/phylogeography/tools/kml/SurfaceDecoration.java b/src/dr/app/phylogeography/tools/kml/SurfaceDecoration.java
index bc777df..1d47bf7 100644
--- a/src/dr/app/phylogeography/tools/kml/SurfaceDecoration.java
+++ b/src/dr/app/phylogeography/tools/kml/SurfaceDecoration.java
@@ -1,3 +1,28 @@
+/*
+ * SurfaceDecoration.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.phylogeography.tools.kml;
 
 import java.awt.*;
diff --git a/src/dr/app/phylogeography/tools/kml/TreeDefinition.java b/src/dr/app/phylogeography/tools/kml/TreeDefinition.java
index 917faa2..73eeeee 100644
--- a/src/dr/app/phylogeography/tools/kml/TreeDefinition.java
+++ b/src/dr/app/phylogeography/tools/kml/TreeDefinition.java
@@ -1,3 +1,28 @@
+/*
+ * TreeDefinition.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.phylogeography.tools.kml;
 
 /**
diff --git a/src/dr/app/phylogeography/tools/kml/TreeSettings.java b/src/dr/app/phylogeography/tools/kml/TreeSettings.java
index 3b00c25..f150853 100644
--- a/src/dr/app/phylogeography/tools/kml/TreeSettings.java
+++ b/src/dr/app/phylogeography/tools/kml/TreeSettings.java
@@ -1,3 +1,28 @@
+/*
+ * TreeSettings.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.phylogeography.tools.kml;
 
 /**
diff --git a/src/dr/app/phylogeography/tools/kml/TreeType.java b/src/dr/app/phylogeography/tools/kml/TreeType.java
index 60320c9..85aab27 100644
--- a/src/dr/app/phylogeography/tools/kml/TreeType.java
+++ b/src/dr/app/phylogeography/tools/kml/TreeType.java
@@ -1,3 +1,28 @@
+/*
+ * TreeType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.phylogeography.tools.kml;
 
 /**
diff --git a/src/dr/app/plugin/Plugin.java b/src/dr/app/plugin/Plugin.java
index 2a46a40..4888a3b 100644
--- a/src/dr/app/plugin/Plugin.java
+++ b/src/dr/app/plugin/Plugin.java
@@ -1,3 +1,28 @@
+/*
+ * Plugin.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.plugin;
 
 import dr.xml.XMLObjectParser;
diff --git a/src/dr/app/plugin/PluginLoader.java b/src/dr/app/plugin/PluginLoader.java
index 67e9130..c96f17f 100644
--- a/src/dr/app/plugin/PluginLoader.java
+++ b/src/dr/app/plugin/PluginLoader.java
@@ -1,3 +1,28 @@
+/*
+ * PluginLoader.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.plugin;
 import java.io.File;
 import java.io.FileFilter;
diff --git a/src/dr/app/seqgen/GeoDiffusionSimulator.java b/src/dr/app/seqgen/GeoDiffusionSimulator.java
index 75d08d2..9aac4ab 100644
--- a/src/dr/app/seqgen/GeoDiffusionSimulator.java
+++ b/src/dr/app/seqgen/GeoDiffusionSimulator.java
@@ -1,3 +1,28 @@
+/*
+ * GeoDiffusionSimulator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.seqgen;
 
 import dr.evolution.util.Taxa;
diff --git a/src/dr/app/seqgen/MicrosatelliteSimulator.java b/src/dr/app/seqgen/MicrosatelliteSimulator.java
index 5b6eb35..1fa2fc2 100644
--- a/src/dr/app/seqgen/MicrosatelliteSimulator.java
+++ b/src/dr/app/seqgen/MicrosatelliteSimulator.java
@@ -1,3 +1,28 @@
+/*
+ * MicrosatelliteSimulator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.seqgen;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/app/seqgen/RecomboGen.java b/src/dr/app/seqgen/RecomboGen.java
index 264a545..9a83495 100644
--- a/src/dr/app/seqgen/RecomboGen.java
+++ b/src/dr/app/seqgen/RecomboGen.java
@@ -1,3 +1,28 @@
+/*
+ * RecomboGen.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.seqgen;
 
 import dr.evolution.alignment.Alignment;
diff --git a/src/dr/app/seqgen/SeqGen.java b/src/dr/app/seqgen/SeqGen.java
index cd10fb5..e35fa64 100644
--- a/src/dr/app/seqgen/SeqGen.java
+++ b/src/dr/app/seqgen/SeqGen.java
@@ -1,3 +1,28 @@
+/*
+ * SeqGen.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.seqgen;
 
 import dr.evolution.io.Importer;
diff --git a/src/dr/app/seqgen/SequenceSimulator.java b/src/dr/app/seqgen/SequenceSimulator.java
index af1a0c7..56fd16e 100644
--- a/src/dr/app/seqgen/SequenceSimulator.java
+++ b/src/dr/app/seqgen/SequenceSimulator.java
@@ -1,4 +1,29 @@
 
+/*
+ * SequenceSimulator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.seqgen;
 
 import dr.app.bss.Utils;
diff --git a/src/dr/app/tools/AncestralSequenceAnnotator.java b/src/dr/app/tools/AncestralSequenceAnnotator.java
index 9bea8d1..9d85cfd 100644
--- a/src/dr/app/tools/AncestralSequenceAnnotator.java
+++ b/src/dr/app/tools/AncestralSequenceAnnotator.java
@@ -1,3 +1,28 @@
+/*
+ * AncestralSequenceAnnotator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tools;
 
 
diff --git a/src/dr/app/tools/AntigenicPlotter.java b/src/dr/app/tools/AntigenicPlotter.java
index a272d59..92d6849 100644
--- a/src/dr/app/tools/AntigenicPlotter.java
+++ b/src/dr/app/tools/AntigenicPlotter.java
@@ -1,7 +1,7 @@
 /*
- * TreeAnnotator.java
+ * AntigenicPlotter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -107,7 +107,7 @@ public class AntigenicPlotter {
             traces.loadTraces();
 
             if (burnin == -1) {
-                burnin = traces.getMaxState() / 10;
+                burnin = (int) (traces.getMaxState() / 10);
             }
 
             traces.setBurnIn(burnin);
diff --git a/src/dr/app/tools/BeastParserDoc.java b/src/dr/app/tools/BeastParserDoc.java
index 56a679a..3bd1cef 100644
--- a/src/dr/app/tools/BeastParserDoc.java
+++ b/src/dr/app/tools/BeastParserDoc.java
@@ -1,7 +1,7 @@
 /*
  * BeastParserDoc.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tools/Branch2dRateToGrid.java b/src/dr/app/tools/Branch2dRateToGrid.java
index b5fe447..e06151d 100644
--- a/src/dr/app/tools/Branch2dRateToGrid.java
+++ b/src/dr/app/tools/Branch2dRateToGrid.java
@@ -1,7 +1,7 @@
 /*
  * Branch2dRateToGrid.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tools/BranchJumpPlotter.java b/src/dr/app/tools/BranchJumpPlotter.java
index f312439..8ae585c 100644
--- a/src/dr/app/tools/BranchJumpPlotter.java
+++ b/src/dr/app/tools/BranchJumpPlotter.java
@@ -1,3 +1,28 @@
+/*
+ * BranchJumpPlotter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tools;
 
 import dr.evolution.io.Importer;
diff --git a/src/dr/app/tools/BranchRatePlotter.java b/src/dr/app/tools/BranchRatePlotter.java
index a28bb4e..5de9381 100644
--- a/src/dr/app/tools/BranchRatePlotter.java
+++ b/src/dr/app/tools/BranchRatePlotter.java
@@ -1,7 +1,7 @@
 /*
  * BranchRatePlotter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tools/ConvertMigrateTrees.java b/src/dr/app/tools/ConvertMigrateTrees.java
index f9f7e1e..c1bbde7 100644
--- a/src/dr/app/tools/ConvertMigrateTrees.java
+++ b/src/dr/app/tools/ConvertMigrateTrees.java
@@ -1,7 +1,7 @@
 /*
  * ConvertMigrateTrees.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tools/DensityMap.java b/src/dr/app/tools/DensityMap.java
index 8bda761..bc33b0a 100644
--- a/src/dr/app/tools/DensityMap.java
+++ b/src/dr/app/tools/DensityMap.java
@@ -1,3 +1,28 @@
+/*
+ * DensityMap.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tools;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/app/tools/DensityPlotter.java b/src/dr/app/tools/DensityPlotter.java
index a92c783..3f876cc 100644
--- a/src/dr/app/tools/DensityPlotter.java
+++ b/src/dr/app/tools/DensityPlotter.java
@@ -1,7 +1,7 @@
 /*
- * TreeAnnotator.java
+ * DensityPlotter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tools/GenerateRelaxedClockXMLByData.java b/src/dr/app/tools/GenerateRelaxedClockXMLByData.java
index 61fa2f6..4b96cbf 100644
--- a/src/dr/app/tools/GenerateRelaxedClockXMLByData.java
+++ b/src/dr/app/tools/GenerateRelaxedClockXMLByData.java
@@ -1,3 +1,28 @@
+/*
+ * GenerateRelaxedClockXMLByData.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tools;
 
 import dr.app.beauti.util.XMLWriter;
diff --git a/src/dr/app/tools/GetAncestralSequenceFromSplitTrait.java b/src/dr/app/tools/GetAncestralSequenceFromSplitTrait.java
index ed948b0..2292cd3 100644
--- a/src/dr/app/tools/GetAncestralSequenceFromSplitTrait.java
+++ b/src/dr/app/tools/GetAncestralSequenceFromSplitTrait.java
@@ -1,22 +1,7 @@
-package dr.app.tools;
-
-import dr.app.beast.BeastVersion;
-import dr.app.util.Arguments;
-import dr.app.util.Utils;
-import dr.evolution.io.Importer;
-import dr.evolution.io.NexusImporter;
-import dr.evolution.io.TreeExporter;
-import dr.evolution.io.TreeImporter;
-import dr.evolution.tree.FlexibleTree;
-import dr.inference.trace.TraceException;
-import dr.util.Version;
-import java.util.*;
-import java.io.*;
-
 /*
  * GetAncestralSequenceFromSplitTrait.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -36,16 +21,23 @@ import java.io.*;
  * License along with BEAST; if not, write to the
  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
  * Boston, MA  02110-1301  USA
- *
- *
- * Takes the states information provided by a TreeAnnotator output from an ancestral sequence estimation when
- * using SplitBySiteTraitLogger.java
- * See input xml muscle-E20110604-030101-0299-49327217-oy.fasta_ancestral_sequence_RelA.xml, NF-kB analysis
- *
- *
- * @author Wai Lok Sibon Li
  */
 
+package dr.app.tools;
+
+import dr.app.beast.BeastVersion;
+import dr.app.util.Arguments;
+import dr.app.util.Utils;
+import dr.evolution.io.Importer;
+import dr.evolution.io.NexusImporter;
+import dr.evolution.io.TreeExporter;
+import dr.evolution.io.TreeImporter;
+import dr.evolution.tree.FlexibleTree;
+import dr.inference.trace.TraceException;
+import dr.util.Version;
+import java.util.*;
+import java.io.*;
+
 public class GetAncestralSequenceFromSplitTrait {
 
     private final static Version version = new BeastVersion();
diff --git a/src/dr/app/tools/GetDateFromTree.java b/src/dr/app/tools/GetDateFromTree.java
index 1bda787..44646b1 100644
--- a/src/dr/app/tools/GetDateFromTree.java
+++ b/src/dr/app/tools/GetDateFromTree.java
@@ -1,3 +1,28 @@
+/*
+ * GetDateFromTree.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tools;
 
 import dr.app.beauti.util.XMLWriter;
diff --git a/src/dr/app/tools/JumpHistoryAnalyser.java b/src/dr/app/tools/JumpHistoryAnalyser.java
index 7b1a485..7c09af6 100644
--- a/src/dr/app/tools/JumpHistoryAnalyser.java
+++ b/src/dr/app/tools/JumpHistoryAnalyser.java
@@ -1,7 +1,7 @@
 /*
- * SkylineReconstructor.java
+ * JumpHistoryAnalyser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tools/LogAnalyser.java b/src/dr/app/tools/LogAnalyser.java
index e5a82bb..91232ba 100644
--- a/src/dr/app/tools/LogAnalyser.java
+++ b/src/dr/app/tools/LogAnalyser.java
@@ -1,7 +1,7 @@
 /*
  * LogAnalyser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tools/LogCombiner.java b/src/dr/app/tools/LogCombiner.java
index af9df8b..cacffa7 100644
--- a/src/dr/app/tools/LogCombiner.java
+++ b/src/dr/app/tools/LogCombiner.java
@@ -1,7 +1,7 @@
 /*
  * LogCombiner.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tools/LogCombinerDialog.java b/src/dr/app/tools/LogCombinerDialog.java
index a4bb8f1..894b722 100644
--- a/src/dr/app/tools/LogCombinerDialog.java
+++ b/src/dr/app/tools/LogCombinerDialog.java
@@ -1,7 +1,7 @@
 /*
  * LogCombinerDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tools/MakeAncestralSequenceAnnotatedTree.java b/src/dr/app/tools/MakeAncestralSequenceAnnotatedTree.java
index 6a9338c..53b58b3 100644
--- a/src/dr/app/tools/MakeAncestralSequenceAnnotatedTree.java
+++ b/src/dr/app/tools/MakeAncestralSequenceAnnotatedTree.java
@@ -1,18 +1,7 @@
-package dr.app.tools;
-
-import dr.app.beast.BeastVersion;
-import dr.app.util.Arguments;
-import dr.app.util.Utils;
-import dr.inference.trace.TraceException;
-import dr.util.Version;
-
-import java.io.*;
-import java.util.Hashtable;
-
 /*
  * MakeAncestralSequenceAnnotatedTree.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -32,13 +21,18 @@ import java.util.Hashtable;
  * License along with BEAST; if not, write to the
  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
  * Boston, MA  02110-1301  USA
- *
- *
- *
- *
  */
 
+package dr.app.tools;
+
+import dr.app.beast.BeastVersion;
+import dr.app.util.Arguments;
+import dr.app.util.Utils;
+import dr.inference.trace.TraceException;
+import dr.util.Version;
 
+import java.io.*;
+import java.util.Hashtable;
 
 import dr.app.beast.BeastVersion;
 import dr.app.util.Arguments;
diff --git a/src/dr/app/tools/MixtureModelLogAnalyser.java b/src/dr/app/tools/MixtureModelLogAnalyser.java
index 828ece7..f8e43e7 100644
--- a/src/dr/app/tools/MixtureModelLogAnalyser.java
+++ b/src/dr/app/tools/MixtureModelLogAnalyser.java
@@ -1,7 +1,7 @@
 /*
  * MixtureModelLogAnalyser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -21,7 +21,6 @@
  * License along with BEAST; if not, write to the
  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
  * Boston, MA  02110-1301  USA
- *
  */
 
 package dr.app.tools;
diff --git a/src/dr/app/tools/NexusExporter.java b/src/dr/app/tools/NexusExporter.java
index a598b34..f4dc488 100644
--- a/src/dr/app/tools/NexusExporter.java
+++ b/src/dr/app/tools/NexusExporter.java
@@ -1,7 +1,7 @@
 /*
  * NexusExporter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tools/NodeStateAnalyser.java b/src/dr/app/tools/NodeStateAnalyser.java
index 2412cbb..6f06c2f 100644
--- a/src/dr/app/tools/NodeStateAnalyser.java
+++ b/src/dr/app/tools/NodeStateAnalyser.java
@@ -1,7 +1,7 @@
 /*
- * TreeLengthFinder.java
+ * NodeStateAnalyser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -21,9 +21,6 @@
  * License along with BEAST; if not, write to the
  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
  * Boston, MA  02110-1301  USA
- *
- * @author Wai Lok Sibon Li
- *
  */
 
 package dr.app.tools;
diff --git a/src/dr/app/tools/NormaliseMeanTreeRate.java b/src/dr/app/tools/NormaliseMeanTreeRate.java
index 955594d..f78fd4f 100644
--- a/src/dr/app/tools/NormaliseMeanTreeRate.java
+++ b/src/dr/app/tools/NormaliseMeanTreeRate.java
@@ -1,3 +1,28 @@
+/*
+ * NormaliseMeanTreeRate.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tools;
 
 import dr.util.Version;
diff --git a/src/dr/app/tools/OrderNexusTranslationTable.java b/src/dr/app/tools/OrderNexusTranslationTable.java
index d2278b9..bfb5445 100644
--- a/src/dr/app/tools/OrderNexusTranslationTable.java
+++ b/src/dr/app/tools/OrderNexusTranslationTable.java
@@ -1,3 +1,28 @@
+/*
+ * OrderNexusTranslationTable.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tools;
 
 import dr.evolution.io.Importer;
diff --git a/src/dr/app/tools/SkylineReconstructor.java b/src/dr/app/tools/SkylineReconstructor.java
index af530ed..371f1ec 100644
--- a/src/dr/app/tools/SkylineReconstructor.java
+++ b/src/dr/app/tools/SkylineReconstructor.java
@@ -1,7 +1,7 @@
 /*
  * SkylineReconstructor.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tools/SpeciesDelimitationAnalyser.java b/src/dr/app/tools/SpeciesDelimitationAnalyser.java
index 13cdac2..2fcadad 100644
--- a/src/dr/app/tools/SpeciesDelimitationAnalyser.java
+++ b/src/dr/app/tools/SpeciesDelimitationAnalyser.java
@@ -1,3 +1,28 @@
+/*
+ * SpeciesDelimitationAnalyser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tools;
 
 import dr.app.beast.BeastVersion;
diff --git a/src/dr/app/tools/SpliceBeastFiles.java b/src/dr/app/tools/SpliceBeastFiles.java
index ca188a9..2a46c62 100644
--- a/src/dr/app/tools/SpliceBeastFiles.java
+++ b/src/dr/app/tools/SpliceBeastFiles.java
@@ -1,3 +1,28 @@
+/*
+ * SpliceBeastFiles.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tools;
 
 import java.io.*;
diff --git a/src/dr/app/tools/TaxaOriginTrait.java b/src/dr/app/tools/TaxaOriginTrait.java
index 6a85c6e..7dbdc04 100644
--- a/src/dr/app/tools/TaxaOriginTrait.java
+++ b/src/dr/app/tools/TaxaOriginTrait.java
@@ -1,3 +1,28 @@
+/*
+ * TaxaOriginTrait.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tools;
 
 import dr.evolution.io.Importer;
diff --git a/src/dr/app/tools/TimeSlicer.java b/src/dr/app/tools/TimeSlicer.java
index 221d6d9..f3a24c5 100644
--- a/src/dr/app/tools/TimeSlicer.java
+++ b/src/dr/app/tools/TimeSlicer.java
@@ -1,3 +1,28 @@
+/*
+ * TimeSlicer.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tools;
 
 import dr.app.beast.BeastVersion;
diff --git a/src/dr/app/tools/TransmissionTreeToVirusTree.java b/src/dr/app/tools/TransmissionTreeToVirusTree.java
index b44f7f2..f4a017b 100644
--- a/src/dr/app/tools/TransmissionTreeToVirusTree.java
+++ b/src/dr/app/tools/TransmissionTreeToVirusTree.java
@@ -1,3 +1,28 @@
+/*
+ * TransmissionTreeToVirusTree.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tools;
 
 import dr.app.util.Arguments;
diff --git a/src/dr/app/tools/TreeAnnotator.java b/src/dr/app/tools/TreeAnnotator.java
index 5cc1a5e..dde8a4b 100644
--- a/src/dr/app/tools/TreeAnnotator.java
+++ b/src/dr/app/tools/TreeAnnotator.java
@@ -1,7 +1,7 @@
 /*
  * TreeAnnotator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tools/TreeAnnotatorDialog.java b/src/dr/app/tools/TreeAnnotatorDialog.java
index 92fadc1..f936ea3 100644
--- a/src/dr/app/tools/TreeAnnotatorDialog.java
+++ b/src/dr/app/tools/TreeAnnotatorDialog.java
@@ -1,7 +1,7 @@
 /*
  * TreeAnnotatorDialog.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tools/TreeLengthFinder.java b/src/dr/app/tools/TreeLengthFinder.java
index c6ece49..be56512 100644
--- a/src/dr/app/tools/TreeLengthFinder.java
+++ b/src/dr/app/tools/TreeLengthFinder.java
@@ -1,7 +1,7 @@
 /*
  * TreeLengthFinder.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -21,7 +21,6 @@
  * License along with BEAST; if not, write to the
  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
  * Boston, MA  02110-1301  USA
- *
  */
 
 package dr.app.tools;
diff --git a/src/dr/app/tools/TreeLogAnalyser.java b/src/dr/app/tools/TreeLogAnalyser.java
index c2843a0..5e57a28 100644
--- a/src/dr/app/tools/TreeLogAnalyser.java
+++ b/src/dr/app/tools/TreeLogAnalyser.java
@@ -1,7 +1,7 @@
 /*
  * TreeLogAnalyser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tools/TreeSummary.java b/src/dr/app/tools/TreeSummary.java
index e1680ed..895bb4b 100644
--- a/src/dr/app/tools/TreeSummary.java
+++ b/src/dr/app/tools/TreeSummary.java
@@ -1,7 +1,7 @@
 /*
  * TreeSummary.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -64,6 +64,8 @@ public class TreeSummary {
     public TreeSummary(final int burninTrees,
                        final int burninStates,
                        double posteriorLimit,
+                       boolean createSummaryTree,
+                       boolean createCladeMap,
                        String inputFileName,
                        String outputFileName
     ) throws IOException {
@@ -155,23 +157,126 @@ public class TreeSummary {
         progressStream.println("Total unique clades: " + cladeSystem.getCladeMap().keySet().size());
         progressStream.println();
 
-        progressStream.println("Finding summary tree...");
+        if (createCladeMap) {
+
+            Map<BitSet, Integer> cladeCountMap = cladeSystem.getCladeCounts();
+
+            System.out.println("No.\tSize\tCred\tMembers");
+            int n = 1;
+            for (BitSet bits : cladeCountMap.keySet()) {
+                System.out.print(n);
+                System.out.print("\t");
+                System.out.print(bits.cardinality());
+                System.out.print("\t");
+                System.out.print(cladeSystem.getCladeCredibility(bits));
+                System.out.print("\t");
+                System.out.println(cladeSystem.getCladeString(bits));
+                n++;
+            }
+            System.out.println();
 
-//        MutableTree targetTree = new FlexibleTree(summarizeTrees(burnin, cladeSystem, inputFileName /*, false*/));
 
-        Tree consensusTree = buildConsensusTree(cladeSystem);
+            progressStream.println("Reading trees...");
+            progressStream.println("0              25             50             75            100");
+            progressStream.println("|--------------|--------------|--------------|--------------|");
 
-        progressStream.println("Writing consensus tree....");
+            stepSize = totalTrees / 60;
 
-        try {
+            fileReader = new FileReader(inputFileName);
+            importer = new NexusImporter(fileReader);
             final PrintStream stream = outputFileName != null ?
                     new PrintStream(new FileOutputStream(outputFileName)) :
                     System.out;
 
-            new NexusExporter(stream).exportTree(consensusTree);
-        } catch (Exception e) {
-            System.err.println("Error writing consensus tree file: " + e.getMessage());
-            return;
+            stream.print("Clade");
+             n = 1;
+            for (BitSet bits : cladeCountMap.keySet()) {
+                stream.print("\t");
+                stream.print(n);
+                n++;
+            }
+            stream.println();
+
+            stream.print("State");
+            for (BitSet bits : cladeCountMap.keySet()) {
+                stream.print("\t");
+                stream.print(cladeSystem.getCladeCredibility(bits));
+            }
+            stream.println();
+
+            try {
+                totalTrees = 0;
+                while (importer.hasTree()) {
+                    Tree tree = importer.importNextTree();
+
+                    int state = totalTrees;
+
+                    if (burninStates > 0) {
+                        // if burnin has been specified in states, try to parse it out...
+                        String name = tree.getId().trim();
+
+                        if (name != null && name.length() > 0 && name.startsWith("STATE_")) {
+                            state = Integer.parseInt(name.split("_")[1]);
+                        }
+                    }
+
+                    if (totalTrees >= burninTrees && state >= burninStates) {
+                        // if either of the two burnin thresholds have been reached...
+
+                        if (burnin < 0) {
+                            // if this is the first time this point has been reached,
+                            // record the number of trees this represents for future use...
+                            burnin = totalTrees;
+                        }
+
+                        stream.print(state);
+
+                        Set<BitSet> cladeSet = cladeSystem.getCladeSet(tree);
+
+                        for (BitSet bits : cladeCountMap.keySet()) {
+                            stream.print("\t");
+                            stream.print(cladeSet.contains(bits) ? "1" : "0");
+                        }
+                        stream.println();
+
+                        totalTreesUsed += 1;
+                    }
+
+                    if (totalTrees > 0 && totalTrees % stepSize == 0) {
+                        progressStream.print("*");
+                        progressStream.flush();
+                    }
+                    totalTrees++;
+                }
+
+            } catch (Importer.ImportException e) {
+                System.err.println("Error Parsing Input Tree: " + e.getMessage());
+                return;
+            }
+            fileReader.close();
+            stream.close();
+            progressStream.println();
+            progressStream.println();
+        }
+        if (createSummaryTree) {
+            progressStream.println("Finding summary tree...");
+
+//        MutableTree targetTree = new FlexibleTree(summarizeTrees(burnin, cladeSystem, inputFileName /*, false*/));
+
+            Tree consensusTree = buildConsensusTree(cladeSystem);
+
+            progressStream.println("Writing consensus tree....");
+
+            try {
+                final PrintStream stream = outputFileName != null ?
+                        new PrintStream(new FileOutputStream(outputFileName)) :
+                        System.out;
+
+                new NexusExporter(stream).exportTree(consensusTree);
+            } catch (Exception e) {
+                System.err.println("Error writing consensus tree file: " + e.getMessage());
+                return;
+            }
         }
 
     }
@@ -252,7 +357,6 @@ public class TreeSummary {
                 Tree tree = importer.importNextTree();
 
                 if (counter >= burnin) {
-
                     cladeSystem.addSubTrees(tree);
                 }
                 if (counter > 0 && counter % stepSize == 0) {
@@ -425,6 +529,14 @@ public class TreeSummary {
             return clade.getCredibility();
         }
 
+        private int getCladeCount(BitSet bits) {
+            Clade clade = cladeMap.get(bits);
+            if (clade == null) {
+                return 0;
+            }
+            return clade.getCount();
+        }
+
         public Tree getBestTree(Tree consensusTree) {
             return new SimpleTree(getBestSubTree(consensusTree, consensusTree.getRoot()));
         }
@@ -459,6 +571,69 @@ public class TreeSummary {
             return taxonList.getTaxon(index);
         }
 
+        private BitSet getClades(Tree tree, NodeRef node, boolean includeTips, Set<BitSet> cladeSet) {
+
+            BitSet bits = new BitSet();
+
+            if (tree.isExternal(node)) {
+
+                int index = taxonList.getTaxonIndex(tree.getNodeTaxon(node).getId());
+                bits.set(index);
+
+                if (includeTips) {
+                    cladeSet.add(bits);
+                }
+
+            } else {
+
+                for (int i = 0; i < tree.getChildCount(node); i++) {
+
+                    NodeRef node1 = tree.getChild(node, i);
+
+                    bits.or(getClades(tree, node1, includeTips, cladeSet));
+                }
+
+                cladeSet.add(bits);
+            }
+
+            return bits;
+        }
+
+        public Set<BitSet> getCladeSet(Tree tree) {
+            Set<BitSet> cladeSet = new HashSet<BitSet>();
+            getClades(tree, tree.getRoot(), false, cladeSet);
+            return cladeSet;
+        }
+
+        public Map<BitSet, Integer> getCladeCounts() {
+            Map<BitSet, Integer> countMap = new HashMap<BitSet, Integer>();
+
+            for (BitSet bits : cladeMap.keySet()) {
+                int count = getCladeCount(bits);
+                if (count > 1) {
+                    countMap.put(bits, count);
+                }
+            }
+
+            return countMap;
+        }
+
+        public String getCladeString(BitSet bits) {
+            StringBuilder sb = new StringBuilder("{");
+            int index = bits.nextSetBit(0);
+            if (index != -1) {
+                sb.append(taxonList.getTaxon(index).getId());
+                index = bits.nextSetBit(index + 1);
+            }
+            while (index != -1) {
+                sb.append(",");
+                sb.append(taxonList.getTaxon(index).getId());
+                 index = bits.nextSetBit(index + 1);
+            }
+            sb.append("}");
+            return sb.toString();
+        }
+
         class Clade {
             public Clade(BitSet bits) {
                 this.bits = bits;
@@ -571,6 +746,7 @@ public class TreeSummary {
                 new Arguments.Option[]{
                         new Arguments.IntegerOption("burnin", "the number of states to be considered as 'burn-in'"),
                         new Arguments.IntegerOption("burninTrees", "the number of trees to be considered as 'burn-in'"),
+                        new Arguments.Option("clademap", "show states of all clades over chain length"),
                         new Arguments.RealOption("limit", "the minimum posterior probability for a subtree to be included"),
                         new Arguments.Option("help", "option to print this message")
                 });
@@ -604,6 +780,15 @@ public class TreeSummary {
 
         final String[] args2 = arguments.getLeftoverArguments();
 
+        boolean createCladeMap = false;
+        boolean createSummaryTree = true;
+
+        if (arguments.hasOption("clademap")) {
+            createCladeMap = true;
+            createSummaryTree = false;
+        }
+
+
         switch (args2.length) {
             case 2:
                 outputFileName = args2[1];
@@ -619,7 +804,7 @@ public class TreeSummary {
             }
         }
 
-        new TreeSummary(burninTrees, burninStates, posteriorLimit, inputFileName, outputFileName);
+        new TreeSummary(burninTrees, burninStates, posteriorLimit, createSummaryTree, createCladeMap, inputFileName, outputFileName);
 
         System.exit(0);
     }
diff --git a/src/dr/app/tracer/analysis/BayesFactorsDialog.java b/src/dr/app/tracer/analysis/BayesFactorsDialog.java
index 06ed40c..8b77081 100644
--- a/src/dr/app/tracer/analysis/BayesFactorsDialog.java
+++ b/src/dr/app/tracer/analysis/BayesFactorsDialog.java
@@ -1,7 +1,7 @@
 /*
  * BayesFactorsDialog.java
  *
- * Copyright (C) 2002-2007 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tracer/analysis/BayesFactorsFrame.java b/src/dr/app/tracer/analysis/BayesFactorsFrame.java
index 3ca8096..9265911 100644
--- a/src/dr/app/tracer/analysis/BayesFactorsFrame.java
+++ b/src/dr/app/tracer/analysis/BayesFactorsFrame.java
@@ -1,7 +1,7 @@
 /*
  * BayesFactorsFrame.java
  *
- * Copyright (C) 2002-2007 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tracer/analysis/BayesianSkylineDialog.java b/src/dr/app/tracer/analysis/BayesianSkylineDialog.java
index eef9d4e..6f4da2a 100644
--- a/src/dr/app/tracer/analysis/BayesianSkylineDialog.java
+++ b/src/dr/app/tracer/analysis/BayesianSkylineDialog.java
@@ -1,7 +1,7 @@
 /*
  * BayesianSkylineDialog.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tracer/analysis/DemographicDialog.java b/src/dr/app/tracer/analysis/DemographicDialog.java
index 482acf5..80319fb 100644
--- a/src/dr/app/tracer/analysis/DemographicDialog.java
+++ b/src/dr/app/tracer/analysis/DemographicDialog.java
@@ -1,7 +1,7 @@
 /*
  * DemographicDialog.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tracer/analysis/DemographicPlotPanel.java b/src/dr/app/tracer/analysis/DemographicPlotPanel.java
index ae9fe5d..377de83 100644
--- a/src/dr/app/tracer/analysis/DemographicPlotPanel.java
+++ b/src/dr/app/tracer/analysis/DemographicPlotPanel.java
@@ -1,7 +1,7 @@
 /*
  * DemographicPlotPanel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tracer/analysis/ExtendedBayesianSkylineDialog.java b/src/dr/app/tracer/analysis/ExtendedBayesianSkylineDialog.java
index fdb8861..62a1622 100644
--- a/src/dr/app/tracer/analysis/ExtendedBayesianSkylineDialog.java
+++ b/src/dr/app/tracer/analysis/ExtendedBayesianSkylineDialog.java
@@ -1,7 +1,7 @@
 /*
- * BayesianSkylineDialog.java
+ * ExtendedBayesianSkylineDialog.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tracer/analysis/GMRFSkyrideDialog.java b/src/dr/app/tracer/analysis/GMRFSkyrideDialog.java
index 8834622..5db1ba3 100644
--- a/src/dr/app/tracer/analysis/GMRFSkyrideDialog.java
+++ b/src/dr/app/tracer/analysis/GMRFSkyrideDialog.java
@@ -1,7 +1,7 @@
 /*
  * GMRFSkyrideDialog.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tracer/analysis/LineagesThroughTimeDialog.java b/src/dr/app/tracer/analysis/LineagesThroughTimeDialog.java
index 4a78634..39b8d53 100644
--- a/src/dr/app/tracer/analysis/LineagesThroughTimeDialog.java
+++ b/src/dr/app/tracer/analysis/LineagesThroughTimeDialog.java
@@ -1,7 +1,7 @@
 /*
  * LineagesThroughTimeDialog.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tracer/analysis/NewTemporalAnalysisDialog.java b/src/dr/app/tracer/analysis/NewTemporalAnalysisDialog.java
index a6b004d..cb044d5 100644
--- a/src/dr/app/tracer/analysis/NewTemporalAnalysisDialog.java
+++ b/src/dr/app/tracer/analysis/NewTemporalAnalysisDialog.java
@@ -1,7 +1,7 @@
 /*
  * NewTemporalAnalysisDialog.java
  *
- * Copyright (C) 2002-2007 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tracer/analysis/SkyGridDialog.java b/src/dr/app/tracer/analysis/SkyGridDialog.java
index e7110f9..6a60b5d 100644
--- a/src/dr/app/tracer/analysis/SkyGridDialog.java
+++ b/src/dr/app/tracer/analysis/SkyGridDialog.java
@@ -1,7 +1,7 @@
 /*
  * SkyGridDialog.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tracer/analysis/TemporalAnalysisFrame.java b/src/dr/app/tracer/analysis/TemporalAnalysisFrame.java
index f2f2d19..eb3df6c 100644
--- a/src/dr/app/tracer/analysis/TemporalAnalysisFrame.java
+++ b/src/dr/app/tracer/analysis/TemporalAnalysisFrame.java
@@ -1,7 +1,7 @@
 /*
  * TemporalAnalysisFrame.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tracer/analysis/TemporalAnalysisPlotPanel.java b/src/dr/app/tracer/analysis/TemporalAnalysisPlotPanel.java
index 1d17248..ee77ce9 100644
--- a/src/dr/app/tracer/analysis/TemporalAnalysisPlotPanel.java
+++ b/src/dr/app/tracer/analysis/TemporalAnalysisPlotPanel.java
@@ -1,7 +1,7 @@
 /*
  * TemporalAnalysisPlotPanel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tracer/analysis/TimeDensityDialog.java b/src/dr/app/tracer/analysis/TimeDensityDialog.java
index e9005e1..9e11951 100644
--- a/src/dr/app/tracer/analysis/TimeDensityDialog.java
+++ b/src/dr/app/tracer/analysis/TimeDensityDialog.java
@@ -1,7 +1,7 @@
 /*
  * TimeDensityDialog.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tracer/analysis/TraitThroughTimeDialog.java b/src/dr/app/tracer/analysis/TraitThroughTimeDialog.java
index ea04294..d4e5465 100644
--- a/src/dr/app/tracer/analysis/TraitThroughTimeDialog.java
+++ b/src/dr/app/tracer/analysis/TraitThroughTimeDialog.java
@@ -1,7 +1,7 @@
 /*
  * TraitThroughTimeDialog.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tracer/application/AnalysisMenuFactory.java b/src/dr/app/tracer/application/AnalysisMenuFactory.java
index b3e95c8..20de6b2 100644
--- a/src/dr/app/tracer/application/AnalysisMenuFactory.java
+++ b/src/dr/app/tracer/application/AnalysisMenuFactory.java
@@ -1,7 +1,7 @@
 /*
  * AnalysisMenuFactory.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tracer/application/AnalysisMenuHandler.java b/src/dr/app/tracer/application/AnalysisMenuHandler.java
index 227077d..01a82a7 100644
--- a/src/dr/app/tracer/application/AnalysisMenuHandler.java
+++ b/src/dr/app/tracer/application/AnalysisMenuHandler.java
@@ -1,7 +1,7 @@
 /*
  * AnalysisMenuHandler.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tracer/application/GeneralPreferencesSection.java b/src/dr/app/tracer/application/GeneralPreferencesSection.java
index ab45a4b..a753992 100644
--- a/src/dr/app/tracer/application/GeneralPreferencesSection.java
+++ b/src/dr/app/tracer/application/GeneralPreferencesSection.java
@@ -1,3 +1,28 @@
+/*
+ * GeneralPreferencesSection.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.application;
 
 import jam.preferences.PreferencesSection;
diff --git a/src/dr/app/tracer/application/InstantiableTracerApp.java b/src/dr/app/tracer/application/InstantiableTracerApp.java
index dd2aec6..f7bb627 100644
--- a/src/dr/app/tracer/application/InstantiableTracerApp.java
+++ b/src/dr/app/tracer/application/InstantiableTracerApp.java
@@ -1,7 +1,7 @@
 /*
  * InstantiableTracerApp.java
  *
- * Copyright (C) 2002-2012 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tracer/application/TracerApp.java b/src/dr/app/tracer/application/TracerApp.java
index 836ba14..6fbdc84 100644
--- a/src/dr/app/tracer/application/TracerApp.java
+++ b/src/dr/app/tracer/application/TracerApp.java
@@ -1,7 +1,7 @@
 /*
  * TracerApp.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -126,7 +126,7 @@ public class TracerApp extends MultiDocApplication {
                     "<p>Available from the BEAST site:<br>" +
                     "<a href=\"http://beast.bio.ed.ac.uk/\">http://beast.bio.ed.ac.uk/</a></p>" +
                     "<p>Source code distributed under the GNU LGPL:<br>" +
-                    "<a href=\"http://code.google.com/p/beast-mcmc/\">http://code.google.com/p/beast-mcmc/</a></p>" +
+                    "<a href=\"http://github.com/beast-dev/beast-mcmc/\">http://github.com/beast-dev/beast-mcmc/</a></p>" +
                     "<p>Thanks for contributions to: Joseph Heled, Oliver Pybus & Benjamin Redelings</p>" +
                     "</center></html>";
 
diff --git a/src/dr/app/tracer/application/TracerDefaultFileMenuFactory.java b/src/dr/app/tracer/application/TracerDefaultFileMenuFactory.java
index 05e7afc..1104d48 100644
--- a/src/dr/app/tracer/application/TracerDefaultFileMenuFactory.java
+++ b/src/dr/app/tracer/application/TracerDefaultFileMenuFactory.java
@@ -1,3 +1,28 @@
+/*
+ * TracerDefaultFileMenuFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.application;
 
 import jam.framework.MenuFactory;
diff --git a/src/dr/app/tracer/application/TracerFileMenuHandler.java b/src/dr/app/tracer/application/TracerFileMenuHandler.java
index d819c49..ebf6b29 100644
--- a/src/dr/app/tracer/application/TracerFileMenuHandler.java
+++ b/src/dr/app/tracer/application/TracerFileMenuHandler.java
@@ -1,3 +1,28 @@
+/*
+ * TracerFileMenuHandler.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.application;
 
 import javax.swing.*;
diff --git a/src/dr/app/tracer/application/TracerFrame.java b/src/dr/app/tracer/application/TracerFrame.java
index acaec3b..3412fc7 100644
--- a/src/dr/app/tracer/application/TracerFrame.java
+++ b/src/dr/app/tracer/application/TracerFrame.java
@@ -1,7 +1,7 @@
 /*
  * TracerFrame.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tracer/application/TracerMacFileMenuFactory.java b/src/dr/app/tracer/application/TracerMacFileMenuFactory.java
index 914af18..45f1cc8 100755
--- a/src/dr/app/tracer/application/TracerMacFileMenuFactory.java
+++ b/src/dr/app/tracer/application/TracerMacFileMenuFactory.java
@@ -1,7 +1,7 @@
 /*
- * BeautiMacFileMenuFactory.java
+ * TracerMacFileMenuFactory.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/tracer/application/TracerMenuBarFactory.java b/src/dr/app/tracer/application/TracerMenuBarFactory.java
index b809302..f9e7f84 100644
--- a/src/dr/app/tracer/application/TracerMenuBarFactory.java
+++ b/src/dr/app/tracer/application/TracerMenuBarFactory.java
@@ -1,3 +1,28 @@
+/*
+ * TracerMenuBarFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.application;
 
 import jam.framework.*;
diff --git a/src/dr/app/tracer/traces/CombinedTraces.java b/src/dr/app/tracer/traces/CombinedTraces.java
index 01e85cb..01c1136 100644
--- a/src/dr/app/tracer/traces/CombinedTraces.java
+++ b/src/dr/app/tracer/traces/CombinedTraces.java
@@ -1,7 +1,7 @@
 /*
  * CombinedTraces.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -138,7 +138,7 @@ public class CombinedTraces extends FilteredTraceList { //implements TraceList {
     /**
      * @return the last state in the chain
      */
-    public int getMaxState() {
+    public long getMaxState() {
         return getStateCount() * getStepSize();
     }
 
diff --git a/src/dr/app/tracer/traces/DensityPanel.java b/src/dr/app/tracer/traces/DensityPanel.java
index 6bdaabc..0b2928e 100644
--- a/src/dr/app/tracer/traces/DensityPanel.java
+++ b/src/dr/app/tracer/traces/DensityPanel.java
@@ -1,7 +1,7 @@
 /*
  * DensityPanel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tracer/traces/FilterAbstractPanel.java b/src/dr/app/tracer/traces/FilterAbstractPanel.java
index 687b5bc..da5d07f 100644
--- a/src/dr/app/tracer/traces/FilterAbstractPanel.java
+++ b/src/dr/app/tracer/traces/FilterAbstractPanel.java
@@ -1,3 +1,28 @@
+/*
+ * FilterAbstractPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.traces;
 
 import javax.swing.*;
diff --git a/src/dr/app/tracer/traces/FilterContinuousPanel.java b/src/dr/app/tracer/traces/FilterContinuousPanel.java
index 55717b5..4ccefb8 100644
--- a/src/dr/app/tracer/traces/FilterContinuousPanel.java
+++ b/src/dr/app/tracer/traces/FilterContinuousPanel.java
@@ -1,3 +1,28 @@
+/*
+ * FilterContinuousPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.traces;
 
 import javax.swing.*;
diff --git a/src/dr/app/tracer/traces/FilterDialog.java b/src/dr/app/tracer/traces/FilterDialog.java
index 4387ad7..57d28a7 100644
--- a/src/dr/app/tracer/traces/FilterDialog.java
+++ b/src/dr/app/tracer/traces/FilterDialog.java
@@ -1,3 +1,28 @@
+/*
+ * FilterDialog.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.traces;
 
 import dr.app.gui.util.LongTask;
diff --git a/src/dr/app/tracer/traces/FilterDiscretePanel.java b/src/dr/app/tracer/traces/FilterDiscretePanel.java
index c5b9ec9..22eed5e 100644
--- a/src/dr/app/tracer/traces/FilterDiscretePanel.java
+++ b/src/dr/app/tracer/traces/FilterDiscretePanel.java
@@ -1,3 +1,28 @@
+/*
+ * FilterDiscretePanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.traces;
 
 import javax.swing.*;
diff --git a/src/dr/app/tracer/traces/FilterListPanel.java b/src/dr/app/tracer/traces/FilterListPanel.java
index 41c750e..6926e2d 100644
--- a/src/dr/app/tracer/traces/FilterListPanel.java
+++ b/src/dr/app/tracer/traces/FilterListPanel.java
@@ -1,3 +1,28 @@
+/*
+ * FilterListPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.traces;
 
 import dr.app.gui.util.LongTask;
diff --git a/src/dr/app/tracer/traces/FrequencyPanel.java b/src/dr/app/tracer/traces/FrequencyPanel.java
index 256868d..79d5cb5 100644
--- a/src/dr/app/tracer/traces/FrequencyPanel.java
+++ b/src/dr/app/tracer/traces/FrequencyPanel.java
@@ -1,3 +1,28 @@
+/*
+ * FrequencyPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.traces;
 
 import dr.app.gui.chart.*;
diff --git a/src/dr/app/tracer/traces/IntervalsPanel.java b/src/dr/app/tracer/traces/IntervalsPanel.java
index 1427a8d..4643928 100644
--- a/src/dr/app/tracer/traces/IntervalsPanel.java
+++ b/src/dr/app/tracer/traces/IntervalsPanel.java
@@ -1,3 +1,28 @@
+/*
+ * IntervalsPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.traces;
 
 import dr.app.gui.chart.JChartPanel;
diff --git a/src/dr/app/tracer/traces/JIntervalsChart.java b/src/dr/app/tracer/traces/JIntervalsChart.java
index 8df299a..1e99fb9 100644
--- a/src/dr/app/tracer/traces/JIntervalsChart.java
+++ b/src/dr/app/tracer/traces/JIntervalsChart.java
@@ -1,3 +1,28 @@
+/*
+ * JIntervalsChart.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.traces;
 
 import dr.app.gui.chart.Axis;
diff --git a/src/dr/app/tracer/traces/JTraceChart.java b/src/dr/app/tracer/traces/JTraceChart.java
index 93e6cfc..333d62c 100644
--- a/src/dr/app/tracer/traces/JTraceChart.java
+++ b/src/dr/app/tracer/traces/JTraceChart.java
@@ -1,7 +1,7 @@
 /*
  * JTraceChart.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tracer/traces/JointDensityPanel.java b/src/dr/app/tracer/traces/JointDensityPanel.java
index 9929fbb..34a1400 100644
--- a/src/dr/app/tracer/traces/JointDensityPanel.java
+++ b/src/dr/app/tracer/traces/JointDensityPanel.java
@@ -1,7 +1,7 @@
 /*
- * CorrelationPanel.java
+ * JointDensityPanel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/tracer/traces/RawTracePanel.java b/src/dr/app/tracer/traces/RawTracePanel.java
index a0e9051..edfa0ff 100644
--- a/src/dr/app/tracer/traces/RawTracePanel.java
+++ b/src/dr/app/tracer/traces/RawTracePanel.java
@@ -1,3 +1,28 @@
+/*
+ * RawTracePanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.traces;
 
 import dr.app.gui.chart.*;
diff --git a/src/dr/app/tracer/traces/SummaryStatisticsPanel.java b/src/dr/app/tracer/traces/SummaryStatisticsPanel.java
index b205c51..c40b424 100644
--- a/src/dr/app/tracer/traces/SummaryStatisticsPanel.java
+++ b/src/dr/app/tracer/traces/SummaryStatisticsPanel.java
@@ -1,3 +1,28 @@
+/*
+ * SummaryStatisticsPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.traces;
 
 import dr.inference.trace.TraceAnalysis;
diff --git a/src/dr/app/tracer/traces/TableRenderer.java b/src/dr/app/tracer/traces/TableRenderer.java
index fff745b..69fa61e 100644
--- a/src/dr/app/tracer/traces/TableRenderer.java
+++ b/src/dr/app/tracer/traces/TableRenderer.java
@@ -1,6 +1,31 @@
 /*
  * TableRenderer.java
  *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
+ * TableRenderer.java
+ *
  * (c) 2002-2005 BEAST Development Core Team
  *
  * This package may be distributed under the
diff --git a/src/dr/app/tracer/traces/TableScrollPane.java b/src/dr/app/tracer/traces/TableScrollPane.java
index 0aa279f..92903aa 100644
--- a/src/dr/app/tracer/traces/TableScrollPane.java
+++ b/src/dr/app/tracer/traces/TableScrollPane.java
@@ -1,3 +1,28 @@
+/*
+ * TableScrollPane.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.traces;
 
 import dr.inference.trace.TraceAnalysis;
diff --git a/src/dr/app/tracer/traces/TraceOptions.java b/src/dr/app/tracer/traces/TraceOptions.java
index 6fa6a00..dc5a512 100644
--- a/src/dr/app/tracer/traces/TraceOptions.java
+++ b/src/dr/app/tracer/traces/TraceOptions.java
@@ -1,3 +1,28 @@
+/*
+ * TraceOptions.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.traces;
 
 import dr.math.distributions.KernelDensityEstimatorDistribution;
diff --git a/src/dr/app/tracer/traces/TracePanel.java b/src/dr/app/tracer/traces/TracePanel.java
index a0659a3..e085a3d 100644
--- a/src/dr/app/tracer/traces/TracePanel.java
+++ b/src/dr/app/tracer/traces/TracePanel.java
@@ -1,3 +1,28 @@
+/*
+ * TracePanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.tracer.traces;
 
 import dr.inference.trace.TraceList;
diff --git a/src/dr/app/treespace/CladePanel.java b/src/dr/app/treespace/CladePanel.java
index 5f3c579..7e1a996 100644
--- a/src/dr/app/treespace/CladePanel.java
+++ b/src/dr/app/treespace/CladePanel.java
@@ -1,3 +1,28 @@
+/*
+ * CladePanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treespace;
 
 import dr.app.gui.table.MultiLineTableCellRenderer;
diff --git a/src/dr/app/treespace/CladePlotter.java b/src/dr/app/treespace/CladePlotter.java
index 70387f1..040874a 100644
--- a/src/dr/app/treespace/CladePlotter.java
+++ b/src/dr/app/treespace/CladePlotter.java
@@ -1,3 +1,28 @@
+/*
+ * CladePlotter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treespace;
 
 import javax.swing.*;
diff --git a/src/dr/app/treespace/CladeSystem.java b/src/dr/app/treespace/CladeSystem.java
index f69fa33..e91474a 100644
--- a/src/dr/app/treespace/CladeSystem.java
+++ b/src/dr/app/treespace/CladeSystem.java
@@ -1,3 +1,28 @@
+/*
+ * CladeSystem.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treespace;
 
 import dr.evolution.tree.*;
diff --git a/src/dr/app/treespace/InputFile.java b/src/dr/app/treespace/InputFile.java
index 5c2662f..b691748 100644
--- a/src/dr/app/treespace/InputFile.java
+++ b/src/dr/app/treespace/InputFile.java
@@ -1,3 +1,28 @@
+/*
+ * InputFile.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treespace;
 
 import dr.util.NumberFormatter;
diff --git a/src/dr/app/treespace/MacFileMenuFactory.java b/src/dr/app/treespace/MacFileMenuFactory.java
index bb13e4e..0621638 100755
--- a/src/dr/app/treespace/MacFileMenuFactory.java
+++ b/src/dr/app/treespace/MacFileMenuFactory.java
@@ -1,3 +1,28 @@
+/*
+ * MacFileMenuFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treespace;
 
 import jam.framework.AbstractFrame;
diff --git a/src/dr/app/treespace/TreeLineages.java b/src/dr/app/treespace/TreeLineages.java
index 033c4a0..62611ca 100644
--- a/src/dr/app/treespace/TreeLineages.java
+++ b/src/dr/app/treespace/TreeLineages.java
@@ -1,3 +1,28 @@
+/*
+ * TreeLineages.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treespace;
 
 import dr.xml.Reference;
diff --git a/src/dr/app/treespace/TreePanel.java b/src/dr/app/treespace/TreePanel.java
index 023eca2..b4fce1e 100644
--- a/src/dr/app/treespace/TreePanel.java
+++ b/src/dr/app/treespace/TreePanel.java
@@ -1,3 +1,28 @@
+/*
+ * TreePanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treespace;
 
 import dr.app.gui.table.TableEditorStopper;
diff --git a/src/dr/app/treespace/TreePlotter.java b/src/dr/app/treespace/TreePlotter.java
index 9f40ddf..ebb8d48 100644
--- a/src/dr/app/treespace/TreePlotter.java
+++ b/src/dr/app/treespace/TreePlotter.java
@@ -1,3 +1,28 @@
+/*
+ * TreePlotter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treespace;
 
 import dr.app.treespace.CladeSystem.Clade;
diff --git a/src/dr/app/treespace/TreeSpaceApp.java b/src/dr/app/treespace/TreeSpaceApp.java
index 65bea87..8ba1f18 100644
--- a/src/dr/app/treespace/TreeSpaceApp.java
+++ b/src/dr/app/treespace/TreeSpaceApp.java
@@ -1,3 +1,28 @@
+/*
+ * TreeSpaceApp.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treespace;
 
 import jam.framework.*;
diff --git a/src/dr/app/treespace/TreeSpaceDocument.java b/src/dr/app/treespace/TreeSpaceDocument.java
index cf51858..5247c69 100644
--- a/src/dr/app/treespace/TreeSpaceDocument.java
+++ b/src/dr/app/treespace/TreeSpaceDocument.java
@@ -1,3 +1,28 @@
+/*
+ * TreeSpaceDocument.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treespace;
 
 import dr.evolution.io.*;
diff --git a/src/dr/app/treespace/TreeSpaceFrame.java b/src/dr/app/treespace/TreeSpaceFrame.java
index 99e6499..e8ad88f 100644
--- a/src/dr/app/treespace/TreeSpaceFrame.java
+++ b/src/dr/app/treespace/TreeSpaceFrame.java
@@ -1,3 +1,28 @@
+/*
+ * TreeSpaceFrame.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treespace;
 
 import dr.app.gui.DeleteActionResponder;
diff --git a/src/dr/app/treespace/TreeSpaceMenuBarFactory.java b/src/dr/app/treespace/TreeSpaceMenuBarFactory.java
index 19e347e..d54faba 100755
--- a/src/dr/app/treespace/TreeSpaceMenuBarFactory.java
+++ b/src/dr/app/treespace/TreeSpaceMenuBarFactory.java
@@ -1,3 +1,28 @@
+/*
+ * TreeSpaceMenuBarFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treespace;
 
 import jam.framework.DefaultEditMenuFactory;
diff --git a/src/dr/app/treespace/inputpanel/InputFileSettingsDialog.java b/src/dr/app/treespace/inputpanel/InputFileSettingsDialog.java
index 7741ed4..3977183 100644
--- a/src/dr/app/treespace/inputpanel/InputFileSettingsDialog.java
+++ b/src/dr/app/treespace/inputpanel/InputFileSettingsDialog.java
@@ -1,3 +1,28 @@
+/*
+ * InputFileSettingsDialog.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treespace.inputpanel;
 
 import dr.app.gui.components.RealNumberField;
diff --git a/src/dr/app/treespace/inputpanel/InputPanel.java b/src/dr/app/treespace/inputpanel/InputPanel.java
index 1089724..8ad6e10 100644
--- a/src/dr/app/treespace/inputpanel/InputPanel.java
+++ b/src/dr/app/treespace/inputpanel/InputPanel.java
@@ -1,3 +1,28 @@
+/*
+ * InputPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treespace.inputpanel;
 
 import dr.app.gui.DeleteActionResponder;
diff --git a/src/dr/app/treespace/renderpanel/RenderPanel.java b/src/dr/app/treespace/renderpanel/RenderPanel.java
index c9f281a..9d17cc5 100644
--- a/src/dr/app/treespace/renderpanel/RenderPanel.java
+++ b/src/dr/app/treespace/renderpanel/RenderPanel.java
@@ -1,3 +1,28 @@
+/*
+ * RenderPanel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treespace.renderpanel;
 
 import jam.framework.Exportable;
diff --git a/src/dr/app/treestat/CharactersPanel.java b/src/dr/app/treestat/CharactersPanel.java
index 6797d18..f2481ad 100644
--- a/src/dr/app/treestat/CharactersPanel.java
+++ b/src/dr/app/treestat/CharactersPanel.java
@@ -1,7 +1,7 @@
 /*
  * CharactersPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/StatisticsPanel.java b/src/dr/app/treestat/StatisticsPanel.java
index 6fcc4df..b421f7f 100644
--- a/src/dr/app/treestat/StatisticsPanel.java
+++ b/src/dr/app/treestat/StatisticsPanel.java
@@ -1,7 +1,7 @@
 /*
  * StatisticsPanel.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/treestat/TableSorter.java b/src/dr/app/treestat/TableSorter.java
index 74f9a3f..994a375 100644
--- a/src/dr/app/treestat/TableSorter.java
+++ b/src/dr/app/treestat/TableSorter.java
@@ -1,7 +1,7 @@
 /*
  * TableSorter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/TaxonSetsPanel.java b/src/dr/app/treestat/TaxonSetsPanel.java
index 16fc746..2912e7a 100644
--- a/src/dr/app/treestat/TaxonSetsPanel.java
+++ b/src/dr/app/treestat/TaxonSetsPanel.java
@@ -1,7 +1,7 @@
 /*
  * TaxonSetsPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/TreeStatApp.java b/src/dr/app/treestat/TreeStatApp.java
index 16a1bc1..ba38ce6 100644
--- a/src/dr/app/treestat/TreeStatApp.java
+++ b/src/dr/app/treestat/TreeStatApp.java
@@ -1,7 +1,7 @@
 /*
  * TreeStatApp.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/TreeStatData.java b/src/dr/app/treestat/TreeStatData.java
index 90f6866..cdc817d 100644
--- a/src/dr/app/treestat/TreeStatData.java
+++ b/src/dr/app/treestat/TreeStatData.java
@@ -1,7 +1,7 @@
 /*
  * TreeStatData.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/TreeStatFrame.java b/src/dr/app/treestat/TreeStatFrame.java
index af6d417..a8ac818 100644
--- a/src/dr/app/treestat/TreeStatFrame.java
+++ b/src/dr/app/treestat/TreeStatFrame.java
@@ -1,7 +1,7 @@
 /*
  * TreeStatFrame.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/TreeStatPanel.java b/src/dr/app/treestat/TreeStatPanel.java
index 05e4978..5e37dff 100644
--- a/src/dr/app/treestat/TreeStatPanel.java
+++ b/src/dr/app/treestat/TreeStatPanel.java
@@ -1,7 +1,7 @@
 /*
  * TreeStatPanel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/AbstractTreeSummaryStatistic.java b/src/dr/app/treestat/statistics/AbstractTreeSummaryStatistic.java
index e4e91ad..3a4d3fa 100644
--- a/src/dr/app/treestat/statistics/AbstractTreeSummaryStatistic.java
+++ b/src/dr/app/treestat/statistics/AbstractTreeSummaryStatistic.java
@@ -1,7 +1,7 @@
 /*
  * AbstractTreeSummaryStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/B1Statistic.java b/src/dr/app/treestat/statistics/B1Statistic.java
index 5b13490..85badf8 100644
--- a/src/dr/app/treestat/statistics/B1Statistic.java
+++ b/src/dr/app/treestat/statistics/B1Statistic.java
@@ -1,7 +1,7 @@
 /*
  * B1Statistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/BetaTreeDiversityStatistic.java b/src/dr/app/treestat/statistics/BetaTreeDiversityStatistic.java
index bea45df..facd060 100644
--- a/src/dr/app/treestat/statistics/BetaTreeDiversityStatistic.java
+++ b/src/dr/app/treestat/statistics/BetaTreeDiversityStatistic.java
@@ -1,7 +1,7 @@
 /*
  * BetaTreeDiversityStatistic.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/treestat/statistics/CherryStatistic.java b/src/dr/app/treestat/statistics/CherryStatistic.java
index d8aa612..e9d2446 100644
--- a/src/dr/app/treestat/statistics/CherryStatistic.java
+++ b/src/dr/app/treestat/statistics/CherryStatistic.java
@@ -1,7 +1,7 @@
 /*
  * CherryStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/CladeMRCAAttributeStatistic.java b/src/dr/app/treestat/statistics/CladeMRCAAttributeStatistic.java
index e84b7c0..66bd50c 100644
--- a/src/dr/app/treestat/statistics/CladeMRCAAttributeStatistic.java
+++ b/src/dr/app/treestat/statistics/CladeMRCAAttributeStatistic.java
@@ -1,7 +1,7 @@
 /*
- * TMRCASummaryStatistic.java
+ * CladeMRCAAttributeStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/CladeMeanAttributeStatistic.java b/src/dr/app/treestat/statistics/CladeMeanAttributeStatistic.java
index 4441912..8edb927 100644
--- a/src/dr/app/treestat/statistics/CladeMeanAttributeStatistic.java
+++ b/src/dr/app/treestat/statistics/CladeMeanAttributeStatistic.java
@@ -1,7 +1,7 @@
 /*
- * TMRCASummaryStatistic.java
+ * CladeMeanAttributeStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/CollessIndex.java b/src/dr/app/treestat/statistics/CollessIndex.java
index a5bf8f0..89226bd 100644
--- a/src/dr/app/treestat/statistics/CollessIndex.java
+++ b/src/dr/app/treestat/statistics/CollessIndex.java
@@ -1,7 +1,7 @@
 /*
  * CollessIndex.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/DeltaStatistic.java b/src/dr/app/treestat/statistics/DeltaStatistic.java
index 9d99c9d..fe88031 100644
--- a/src/dr/app/treestat/statistics/DeltaStatistic.java
+++ b/src/dr/app/treestat/statistics/DeltaStatistic.java
@@ -1,7 +1,7 @@
 /*
  * DeltaStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/ExternalBranchRates.java b/src/dr/app/treestat/statistics/ExternalBranchRates.java
index 86a9fad..171e7d0 100644
--- a/src/dr/app/treestat/statistics/ExternalBranchRates.java
+++ b/src/dr/app/treestat/statistics/ExternalBranchRates.java
@@ -1,7 +1,7 @@
 /*
  * ExternalBranchRates.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/treestat/statistics/ExternalInternalRatio.java b/src/dr/app/treestat/statistics/ExternalInternalRatio.java
index 1a2351d..f2dd0ff 100644
--- a/src/dr/app/treestat/statistics/ExternalInternalRatio.java
+++ b/src/dr/app/treestat/statistics/ExternalInternalRatio.java
@@ -1,7 +1,7 @@
 /*
  * ExternalInternalRatio.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/FuLiD.java b/src/dr/app/treestat/statistics/FuLiD.java
index 82c951d..470dad1 100644
--- a/src/dr/app/treestat/statistics/FuLiD.java
+++ b/src/dr/app/treestat/statistics/FuLiD.java
@@ -1,7 +1,7 @@
 /*
  * FuLiD.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/GammaStatistic.java b/src/dr/app/treestat/statistics/GammaStatistic.java
index 6070906..674ec4d 100644
--- a/src/dr/app/treestat/statistics/GammaStatistic.java
+++ b/src/dr/app/treestat/statistics/GammaStatistic.java
@@ -1,7 +1,7 @@
 /*
  * GammaStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/InternalBranchLengths.java b/src/dr/app/treestat/statistics/InternalBranchLengths.java
index e19e5ba..95e8de7 100644
--- a/src/dr/app/treestat/statistics/InternalBranchLengths.java
+++ b/src/dr/app/treestat/statistics/InternalBranchLengths.java
@@ -1,7 +1,7 @@
 /*
  * InternalBranchLengths.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/treestat/statistics/InternalBranchRates.java b/src/dr/app/treestat/statistics/InternalBranchRates.java
index f4c6c93..ae68e48 100644
--- a/src/dr/app/treestat/statistics/InternalBranchRates.java
+++ b/src/dr/app/treestat/statistics/InternalBranchRates.java
@@ -1,7 +1,7 @@
 /*
  * InternalBranchRates.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/treestat/statistics/InternalNodeAttribute.java b/src/dr/app/treestat/statistics/InternalNodeAttribute.java
index 04c47f0..4bd8ee2 100644
--- a/src/dr/app/treestat/statistics/InternalNodeAttribute.java
+++ b/src/dr/app/treestat/statistics/InternalNodeAttribute.java
@@ -1,7 +1,7 @@
 /*
  * InternalNodeAttribute.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/treestat/statistics/IntervalKStatistic.java b/src/dr/app/treestat/statistics/IntervalKStatistic.java
index 8fc45fb..52d75ce 100644
--- a/src/dr/app/treestat/statistics/IntervalKStatistic.java
+++ b/src/dr/app/treestat/statistics/IntervalKStatistic.java
@@ -1,7 +1,7 @@
 /*
  * IntervalKStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/LineageCountStatistic.java b/src/dr/app/treestat/statistics/LineageCountStatistic.java
index cc932b4..27bd76f 100644
--- a/src/dr/app/treestat/statistics/LineageCountStatistic.java
+++ b/src/dr/app/treestat/statistics/LineageCountStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * LineageCountStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treestat.statistics;
 
 import dr.evolution.coalescent.TreeIntervals;
diff --git a/src/dr/app/treestat/statistics/LineageProportionStatistic.java b/src/dr/app/treestat/statistics/LineageProportionStatistic.java
index e77eea9..4b8ba15 100644
--- a/src/dr/app/treestat/statistics/LineageProportionStatistic.java
+++ b/src/dr/app/treestat/statistics/LineageProportionStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * LineageProportionStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treestat.statistics;
 
 import dr.evolution.coalescent.TreeIntervals;
diff --git a/src/dr/app/treestat/statistics/MRCAOlderThanStatistic.java b/src/dr/app/treestat/statistics/MRCAOlderThanStatistic.java
index dbad4aa..bc2c8a9 100644
--- a/src/dr/app/treestat/statistics/MRCAOlderThanStatistic.java
+++ b/src/dr/app/treestat/statistics/MRCAOlderThanStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * MRCAOlderThanStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.treestat.statistics;
 
 import dr.evolution.coalescent.TreeIntervals;
diff --git a/src/dr/app/treestat/statistics/Nbar.java b/src/dr/app/treestat/statistics/Nbar.java
index 885bd6d..c6a793d 100644
--- a/src/dr/app/treestat/statistics/Nbar.java
+++ b/src/dr/app/treestat/statistics/Nbar.java
@@ -1,7 +1,7 @@
 /*
  * Nbar.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/NodeHeights.java b/src/dr/app/treestat/statistics/NodeHeights.java
index e6c227f..01256c6 100644
--- a/src/dr/app/treestat/statistics/NodeHeights.java
+++ b/src/dr/app/treestat/statistics/NodeHeights.java
@@ -1,7 +1,7 @@
 /*
  * NodeHeights.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/RankProportionStatistic.java b/src/dr/app/treestat/statistics/RankProportionStatistic.java
index 3030c63..af4ae79 100644
--- a/src/dr/app/treestat/statistics/RankProportionStatistic.java
+++ b/src/dr/app/treestat/statistics/RankProportionStatistic.java
@@ -1,7 +1,7 @@
 /*
  * RankProportionStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/RootToTipLengths.java b/src/dr/app/treestat/statistics/RootToTipLengths.java
index ce6a7b0..4502741 100644
--- a/src/dr/app/treestat/statistics/RootToTipLengths.java
+++ b/src/dr/app/treestat/statistics/RootToTipLengths.java
@@ -1,7 +1,7 @@
 /*
  * RootToTipLengths.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/SingleChildCountStatistic.java b/src/dr/app/treestat/statistics/SingleChildCountStatistic.java
index 12002cf..eba6d50 100644
--- a/src/dr/app/treestat/statistics/SingleChildCountStatistic.java
+++ b/src/dr/app/treestat/statistics/SingleChildCountStatistic.java
@@ -1,7 +1,7 @@
 /*
- * CherryStatistic.java
+ * SingleChildCountStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/SummaryStatisticDescription.java b/src/dr/app/treestat/statistics/SummaryStatisticDescription.java
index c5bdb8d..5e79caf 100644
--- a/src/dr/app/treestat/statistics/SummaryStatisticDescription.java
+++ b/src/dr/app/treestat/statistics/SummaryStatisticDescription.java
@@ -1,7 +1,7 @@
 /*
  * SummaryStatisticDescription.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/TMRCASummaryStatistic.java b/src/dr/app/treestat/statistics/TMRCASummaryStatistic.java
index 3c88fe6..93f225e 100644
--- a/src/dr/app/treestat/statistics/TMRCASummaryStatistic.java
+++ b/src/dr/app/treestat/statistics/TMRCASummaryStatistic.java
@@ -1,7 +1,7 @@
 /*
  * TMRCASummaryStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/TreeHeight.java b/src/dr/app/treestat/statistics/TreeHeight.java
index e95a92c..1924ddb 100644
--- a/src/dr/app/treestat/statistics/TreeHeight.java
+++ b/src/dr/app/treestat/statistics/TreeHeight.java
@@ -1,7 +1,7 @@
 /*
  * TreeHeight.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/TreeLength.java b/src/dr/app/treestat/statistics/TreeLength.java
index 224cb74..c146c7c 100644
--- a/src/dr/app/treestat/statistics/TreeLength.java
+++ b/src/dr/app/treestat/statistics/TreeLength.java
@@ -1,7 +1,7 @@
 /*
  * TreeLength.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/TreeSummaryStatistic.java b/src/dr/app/treestat/statistics/TreeSummaryStatistic.java
index 80f12f1..4f1d02c 100644
--- a/src/dr/app/treestat/statistics/TreeSummaryStatistic.java
+++ b/src/dr/app/treestat/statistics/TreeSummaryStatistic.java
@@ -1,7 +1,7 @@
 /*
  * TreeSummaryStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/treestat/statistics/TreenessStatistic.java b/src/dr/app/treestat/statistics/TreenessStatistic.java
index b3337e6..6f92e76 100644
--- a/src/dr/app/treestat/statistics/TreenessStatistic.java
+++ b/src/dr/app/treestat/statistics/TreenessStatistic.java
@@ -1,7 +1,7 @@
 /*
  * TreenessStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/util/Arguments.java b/src/dr/app/util/Arguments.java
index 324ab1a..65f9d58 100644
--- a/src/dr/app/util/Arguments.java
+++ b/src/dr/app/util/Arguments.java
@@ -1,7 +1,7 @@
 /*
  * Arguments.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/util/OSType.java b/src/dr/app/util/OSType.java
index e10af06..5b5826c 100644
--- a/src/dr/app/util/OSType.java
+++ b/src/dr/app/util/OSType.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * OSType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/app/util/Utils.java b/src/dr/app/util/Utils.java
index 49ec0bf..12f5128 100644
--- a/src/dr/app/util/Utils.java
+++ b/src/dr/app/util/Utils.java
@@ -1,7 +1,7 @@
 /*
  * Utils.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/app/vcs/VariableCoalescentSimulator.java b/src/dr/app/vcs/VariableCoalescentSimulator.java
index 5d2aca9..0aeeafd 100644
--- a/src/dr/app/vcs/VariableCoalescentSimulator.java
+++ b/src/dr/app/vcs/VariableCoalescentSimulator.java
@@ -1,3 +1,28 @@
+/*
+ * VariableCoalescentSimulator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.app.vcs;
 
 import dr.evolution.coalescent.CoalescentSimulator;
diff --git a/src/dr/evolution/LinkageConstraints.java b/src/dr/evolution/LinkageConstraints.java
index 3ddcd58..ab53a2c 100644
--- a/src/dr/evolution/LinkageConstraints.java
+++ b/src/dr/evolution/LinkageConstraints.java
@@ -1,3 +1,28 @@
+/*
+ * LinkageConstraints.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution;
 
 import dr.util.Identifiable;
diff --git a/src/dr/evolution/LinkedGroup.java b/src/dr/evolution/LinkedGroup.java
index e3216c4..f1168ac 100644
--- a/src/dr/evolution/LinkedGroup.java
+++ b/src/dr/evolution/LinkedGroup.java
@@ -1,3 +1,28 @@
+/*
+ * LinkedGroup.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution;
 
 import dr.evolution.util.TaxonList;
diff --git a/src/dr/evolution/MetagenomeData.java b/src/dr/evolution/MetagenomeData.java
index acc4bb8..761cdb9 100644
--- a/src/dr/evolution/MetagenomeData.java
+++ b/src/dr/evolution/MetagenomeData.java
@@ -1,3 +1,28 @@
+/*
+ * MetagenomeData.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution;
 
 import java.util.ArrayList;
diff --git a/src/dr/evolution/alignment/Alignment.java b/src/dr/evolution/alignment/Alignment.java
index 25288c2..8583efc 100644
--- a/src/dr/evolution/alignment/Alignment.java
+++ b/src/dr/evolution/alignment/Alignment.java
@@ -1,7 +1,7 @@
 /*
  * Alignment.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/AlignmentParseException.java b/src/dr/evolution/alignment/AlignmentParseException.java
index 4b8b87d..4c395eb 100644
--- a/src/dr/evolution/alignment/AlignmentParseException.java
+++ b/src/dr/evolution/alignment/AlignmentParseException.java
@@ -1,7 +1,7 @@
 /*
  * AlignmentParseException.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/AscertainedSitePatterns.java b/src/dr/evolution/alignment/AscertainedSitePatterns.java
index 0401450..4138253 100644
--- a/src/dr/evolution/alignment/AscertainedSitePatterns.java
+++ b/src/dr/evolution/alignment/AscertainedSitePatterns.java
@@ -1,3 +1,28 @@
+/*
+ * AscertainedSitePatterns.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.alignment;
 
 import dr.evolution.util.TaxonList;
diff --git a/src/dr/evolution/alignment/BootstrapPatterns.java b/src/dr/evolution/alignment/BootstrapPatterns.java
index f93fa29..00a60aa 100644
--- a/src/dr/evolution/alignment/BootstrapPatterns.java
+++ b/src/dr/evolution/alignment/BootstrapPatterns.java
@@ -1,7 +1,7 @@
 /*
  * BootstrapPatterns.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/CharSetAlignment.java b/src/dr/evolution/alignment/CharSetAlignment.java
index b378a63..3dfda7b 100644
--- a/src/dr/evolution/alignment/CharSetAlignment.java
+++ b/src/dr/evolution/alignment/CharSetAlignment.java
@@ -1,7 +1,7 @@
 /*
  * CharSetAlignment.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/alignment/Consensus.java b/src/dr/evolution/alignment/Consensus.java
index d26ab4c..15c41a6 100644
--- a/src/dr/evolution/alignment/Consensus.java
+++ b/src/dr/evolution/alignment/Consensus.java
@@ -1,7 +1,7 @@
 /*
  * Consensus.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/ConvertAlignment.java b/src/dr/evolution/alignment/ConvertAlignment.java
index f606cec..8068ba4 100644
--- a/src/dr/evolution/alignment/ConvertAlignment.java
+++ b/src/dr/evolution/alignment/ConvertAlignment.java
@@ -1,7 +1,7 @@
 /*
  * ConvertAlignment.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/Defects.java b/src/dr/evolution/alignment/Defects.java
index f6e3194..a26bc39 100644
--- a/src/dr/evolution/alignment/Defects.java
+++ b/src/dr/evolution/alignment/Defects.java
@@ -1,7 +1,7 @@
 /*
  * Defects.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/ExtractPairs.java b/src/dr/evolution/alignment/ExtractPairs.java
index 4da0010..aabb826 100644
--- a/src/dr/evolution/alignment/ExtractPairs.java
+++ b/src/dr/evolution/alignment/ExtractPairs.java
@@ -1,7 +1,7 @@
 /*
  * ExtractPairs.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/GapStrippedAlignment.java b/src/dr/evolution/alignment/GapStrippedAlignment.java
index 49380a3..aaa4159 100644
--- a/src/dr/evolution/alignment/GapStrippedAlignment.java
+++ b/src/dr/evolution/alignment/GapStrippedAlignment.java
@@ -1,7 +1,7 @@
 /*
  * GapStrippedAlignment.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/GapUtils.java b/src/dr/evolution/alignment/GapUtils.java
index 6dc717d..bd78a0e 100644
--- a/src/dr/evolution/alignment/GapUtils.java
+++ b/src/dr/evolution/alignment/GapUtils.java
@@ -1,7 +1,7 @@
 /*
  * GapUtils.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/HypermutantAlignment.java b/src/dr/evolution/alignment/HypermutantAlignment.java
index db8ef7f..a8ea121 100644
--- a/src/dr/evolution/alignment/HypermutantAlignment.java
+++ b/src/dr/evolution/alignment/HypermutantAlignment.java
@@ -1,7 +1,7 @@
 /*
- * ConvertAlignment.java
+ * HypermutantAlignment.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/JackknifePatterns.java b/src/dr/evolution/alignment/JackknifePatterns.java
index 011a909..fde8e35 100644
--- a/src/dr/evolution/alignment/JackknifePatterns.java
+++ b/src/dr/evolution/alignment/JackknifePatterns.java
@@ -1,7 +1,7 @@
 /*
  * JackknifePatterns.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/MsatPatternStatistic.java b/src/dr/evolution/alignment/MsatPatternStatistic.java
index 3de2878..3e35c40 100644
--- a/src/dr/evolution/alignment/MsatPatternStatistic.java
+++ b/src/dr/evolution/alignment/MsatPatternStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * MsatPatternStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.alignment;
 
 
diff --git a/src/dr/evolution/alignment/PairedSitePatterns.java b/src/dr/evolution/alignment/PairedSitePatterns.java
index e5576b2..571d79d 100644
--- a/src/dr/evolution/alignment/PairedSitePatterns.java
+++ b/src/dr/evolution/alignment/PairedSitePatterns.java
@@ -1,7 +1,7 @@
 /*
  * PairedSitePatterns.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/PatternList.java b/src/dr/evolution/alignment/PatternList.java
index 2cc997c..32686e2 100644
--- a/src/dr/evolution/alignment/PatternList.java
+++ b/src/dr/evolution/alignment/PatternList.java
@@ -1,7 +1,7 @@
 /*
  * PatternList.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/Patterns.java b/src/dr/evolution/alignment/Patterns.java
index aa1d62b..68d1d03 100644
--- a/src/dr/evolution/alignment/Patterns.java
+++ b/src/dr/evolution/alignment/Patterns.java
@@ -1,7 +1,7 @@
 /*
  * Patterns.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -114,7 +114,25 @@ public class Patterns implements PatternList {
      */
     public Patterns(SiteList siteList, int from, int to, int every, int subSet, int subSetCount) {
         addPatterns(siteList, from, to, every);
+        subSetPatterns(subSet, subSetCount);
+    }
 
+    /**
+     * Constructor
+     */
+    public Patterns(PatternList patternList) {
+        addPatterns(patternList);
+    }
+
+    /**
+     * Constructor
+     */
+    public Patterns(PatternList patternList, int subSet, int subSetCount) {
+        addPatterns(patternList);
+        subSetPatterns(subSet, subSetCount);
+    }
+
+    private void subSetPatterns(int subSet, int subSetCount) {
         if (subSetCount > 0) {
             // if we are using subSetCount then cut it down to only the subset we want...
             int div = patternCount / subSetCount;
@@ -144,13 +162,6 @@ public class Patterns implements PatternList {
     }
 
     /**
-     * Constructor
-     */
-    public Patterns(PatternList patternList) {
-        addPatterns(patternList);
-    }
-
-    /**
      * adds patterns to the list from a SiteList
      */
     public void addPatterns(SiteList siteList, int from, int to, int every) {
diff --git a/src/dr/evolution/alignment/ResamplePatterns.java b/src/dr/evolution/alignment/ResamplePatterns.java
index 30c4b97..af5cd8d 100644
--- a/src/dr/evolution/alignment/ResamplePatterns.java
+++ b/src/dr/evolution/alignment/ResamplePatterns.java
@@ -1,7 +1,7 @@
 /*
  * ResamplePatterns.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/ShuffledSiteList.java b/src/dr/evolution/alignment/ShuffledSiteList.java
index bf31c0a..59dbb5d 100644
--- a/src/dr/evolution/alignment/ShuffledSiteList.java
+++ b/src/dr/evolution/alignment/ShuffledSiteList.java
@@ -1,7 +1,7 @@
 /*
  * ShuffledSiteList.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/SimpleAlignment.java b/src/dr/evolution/alignment/SimpleAlignment.java
index e6382f9..ddfba9e 100644
--- a/src/dr/evolution/alignment/SimpleAlignment.java
+++ b/src/dr/evolution/alignment/SimpleAlignment.java
@@ -1,7 +1,7 @@
 /*
  * SimpleAlignment.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/SimpleSiteList.java b/src/dr/evolution/alignment/SimpleSiteList.java
index 735af73..ee6ac63 100644
--- a/src/dr/evolution/alignment/SimpleSiteList.java
+++ b/src/dr/evolution/alignment/SimpleSiteList.java
@@ -1,7 +1,7 @@
 /*
  * SimpleSiteList.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/SiteList.java b/src/dr/evolution/alignment/SiteList.java
index f5bdd2f..6d6a6d1 100644
--- a/src/dr/evolution/alignment/SiteList.java
+++ b/src/dr/evolution/alignment/SiteList.java
@@ -1,7 +1,7 @@
 /*
  * SiteList.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/SitePatterns.java b/src/dr/evolution/alignment/SitePatterns.java
index ee3ed52..f2b4e93 100644
--- a/src/dr/evolution/alignment/SitePatterns.java
+++ b/src/dr/evolution/alignment/SitePatterns.java
@@ -1,7 +1,7 @@
 /*
  * SitePatterns.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/alignment/WrappedAlignment.java b/src/dr/evolution/alignment/WrappedAlignment.java
index 39a2f41..ed2746d 100644
--- a/src/dr/evolution/alignment/WrappedAlignment.java
+++ b/src/dr/evolution/alignment/WrappedAlignment.java
@@ -1,3 +1,28 @@
+/*
+ * WrappedAlignment.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.alignment;
 
 import dr.evolution.datatype.AminoAcids;
diff --git a/src/dr/evolution/coalescent/CataclysmicDemographic.java b/src/dr/evolution/coalescent/CataclysmicDemographic.java
index 689e9b8..b923bb0 100644
--- a/src/dr/evolution/coalescent/CataclysmicDemographic.java
+++ b/src/dr/evolution/coalescent/CataclysmicDemographic.java
@@ -1,7 +1,7 @@
 /*
  * CataclysmicDemographic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/Coalescent.java b/src/dr/evolution/coalescent/Coalescent.java
index 54557f9..6c33923 100644
--- a/src/dr/evolution/coalescent/Coalescent.java
+++ b/src/dr/evolution/coalescent/Coalescent.java
@@ -1,7 +1,7 @@
 /*
  * Coalescent.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/CoalescentSimulator.java b/src/dr/evolution/coalescent/CoalescentSimulator.java
index c858713..6e640aa 100644
--- a/src/dr/evolution/coalescent/CoalescentSimulator.java
+++ b/src/dr/evolution/coalescent/CoalescentSimulator.java
@@ -1,7 +1,7 @@
 /*
  * CoalescentSimulator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/ConstExpConst.java b/src/dr/evolution/coalescent/ConstExpConst.java
index ce6967b..1119705 100644
--- a/src/dr/evolution/coalescent/ConstExpConst.java
+++ b/src/dr/evolution/coalescent/ConstExpConst.java
@@ -1,7 +1,7 @@
 /*
- * ConstExponential.java
+ * ConstExpConst.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/ConstExponential.java b/src/dr/evolution/coalescent/ConstExponential.java
index 00adc73..74088f8 100644
--- a/src/dr/evolution/coalescent/ConstExponential.java
+++ b/src/dr/evolution/coalescent/ConstExponential.java
@@ -1,7 +1,7 @@
 /*
  * ConstExponential.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/ConstLogistic.java b/src/dr/evolution/coalescent/ConstLogistic.java
index 8aea6d3..821fc4c 100644
--- a/src/dr/evolution/coalescent/ConstLogistic.java
+++ b/src/dr/evolution/coalescent/ConstLogistic.java
@@ -1,7 +1,7 @@
 /*
  * ConstLogistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/ConstantPopulation.java b/src/dr/evolution/coalescent/ConstantPopulation.java
index 8b12024..f0a12d7 100644
--- a/src/dr/evolution/coalescent/ConstantPopulation.java
+++ b/src/dr/evolution/coalescent/ConstantPopulation.java
@@ -1,7 +1,7 @@
 /*
  * ConstantPopulation.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/DemographicFunction.java b/src/dr/evolution/coalescent/DemographicFunction.java
index a687f7e..1fd280d 100644
--- a/src/dr/evolution/coalescent/DemographicFunction.java
+++ b/src/dr/evolution/coalescent/DemographicFunction.java
@@ -1,7 +1,7 @@
 /*
  * DemographicFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/EmpiricalPiecewiseConstant.java b/src/dr/evolution/coalescent/EmpiricalPiecewiseConstant.java
index 8a78427..de24350 100644
--- a/src/dr/evolution/coalescent/EmpiricalPiecewiseConstant.java
+++ b/src/dr/evolution/coalescent/EmpiricalPiecewiseConstant.java
@@ -1,7 +1,7 @@
 /*
  * EmpiricalPiecewiseConstant.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/ExpConstExpDemographic.java b/src/dr/evolution/coalescent/ExpConstExpDemographic.java
index c7d94b0..c3020d7 100644
--- a/src/dr/evolution/coalescent/ExpConstExpDemographic.java
+++ b/src/dr/evolution/coalescent/ExpConstExpDemographic.java
@@ -1,7 +1,7 @@
 /*
  * ExpConstExpDemographic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/ExpConstant.java b/src/dr/evolution/coalescent/ExpConstant.java
index d066be5..6b6407c 100644
--- a/src/dr/evolution/coalescent/ExpConstant.java
+++ b/src/dr/evolution/coalescent/ExpConstant.java
@@ -1,3 +1,28 @@
+/*
+ * ExpConstant.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.coalescent;
 
 /**
diff --git a/src/dr/evolution/coalescent/Expansion.java b/src/dr/evolution/coalescent/Expansion.java
index 2e09d49..7dfe374 100644
--- a/src/dr/evolution/coalescent/Expansion.java
+++ b/src/dr/evolution/coalescent/Expansion.java
@@ -1,7 +1,7 @@
 /*
  * Expansion.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/ExponentialBSPGrowth.java b/src/dr/evolution/coalescent/ExponentialBSPGrowth.java
index 06fbee8..cebf35c 100644
--- a/src/dr/evolution/coalescent/ExponentialBSPGrowth.java
+++ b/src/dr/evolution/coalescent/ExponentialBSPGrowth.java
@@ -1,7 +1,7 @@
 /*
- * ExponentialGrowth.java
+ * ExponentialBSPGrowth.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/ExponentialExponential.java b/src/dr/evolution/coalescent/ExponentialExponential.java
index 7ad10e9..5352c67 100644
--- a/src/dr/evolution/coalescent/ExponentialExponential.java
+++ b/src/dr/evolution/coalescent/ExponentialExponential.java
@@ -1,3 +1,28 @@
+/*
+ * ExponentialExponential.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.coalescent;
 
 /**
diff --git a/src/dr/evolution/coalescent/ExponentialGrowth.java b/src/dr/evolution/coalescent/ExponentialGrowth.java
index 62f2d62..5383a64 100644
--- a/src/dr/evolution/coalescent/ExponentialGrowth.java
+++ b/src/dr/evolution/coalescent/ExponentialGrowth.java
@@ -1,7 +1,7 @@
 /*
  * ExponentialGrowth.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/ExponentialLogistic.java b/src/dr/evolution/coalescent/ExponentialLogistic.java
index a5cae61..5a9c104 100644
--- a/src/dr/evolution/coalescent/ExponentialLogistic.java
+++ b/src/dr/evolution/coalescent/ExponentialLogistic.java
@@ -1,7 +1,7 @@
 /*
  * ExponentialLogistic.java
  *
- * Copyright (C) 2002-2008 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/ExponentialSawtooth.java b/src/dr/evolution/coalescent/ExponentialSawtooth.java
index 3cec9ad..837c175 100644
--- a/src/dr/evolution/coalescent/ExponentialSawtooth.java
+++ b/src/dr/evolution/coalescent/ExponentialSawtooth.java
@@ -1,7 +1,7 @@
 /*
  * ExponentialSawtooth.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/FlexibleGrowth.java b/src/dr/evolution/coalescent/FlexibleGrowth.java
new file mode 100644
index 0000000..5740ea7
--- /dev/null
+++ b/src/dr/evolution/coalescent/FlexibleGrowth.java
@@ -0,0 +1,172 @@
+/*
+ * FlexibleGrowth.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.evolution.coalescent;
+
+/**
+ * Under the assumption that the effective population size at time zero was zero (and all coalescent events are
+ * before zero in backwards time), this models population growth according to the function N(t)=N0*K(-t)^r/(1+K(-t)^(r-1)
+ *
+ * This takes a variety of shapes depending on the value of r. For r<0 it climbs to a peak and then declines. At r=0 it
+ * approaches an asymptote; r=1 is linear.
+ *
+ * (if times are transformed to the log scale, this is logistic growth)
+ *
+ * @author Matthew Hall
+ */
+public class FlexibleGrowth extends PowerLawGrowth
+{
+	//
+	// Public stuff
+	//
+
+	/**
+	 * Construct demographic model with default settings
+     * @param units
+     */
+	public FlexibleGrowth(Type units) {
+
+		super(units);
+	}
+
+	/**
+	 * @return initial population size.
+	 */
+
+	public double getK(){
+		return K;
+	}
+
+
+	public void setK(double K) {
+
+		this.K = K;
+	}
+
+    // Implementation of abstract methods
+	
+	public double getDemographic(double t) {
+		if(t>0){
+			throw new RuntimeException("Negative times only! t="+t);
+		}
+
+		return getN0()*K*Math.pow(-t,getR())/(1+K*Math.pow(-t, getR()-1));
+	}
+	public double getIntensity(double t) {
+		throw new RuntimeException("getIntensity is not implemented (and not finite); use getIntegral instead");
+	}
+
+	public double getInverseIntensity(double x) {
+		throw new RuntimeException("Not implemented");
+	}
+
+	public double getInverseIntegral(double x, double start) {
+		throw new RuntimeException("Not implemented");
+	}
+
+	public double getIntegral(double start, double finish) {
+
+		return 1/getN0() * (1/((getR()-1)*K) * (Math.pow(-finish, -getR() + 1) - Math.pow(-start, -getR() +1 )) + Math.log((-start)/(-finish)));
+	}
+
+	public int getNumArguments() {
+		return 3;
+	}
+
+	public String getArgumentName(int n) {
+		switch (n) {
+			case 0:
+				return "N0";
+			case 1:
+				return "r";
+			case 2:
+				return "K";
+		}
+		throw new IllegalArgumentException("Argument " + n + " does not exist");
+	}
+
+	public double getArgument(int n) {
+		switch (n) {
+			case 0:
+				return getN0();
+			case 1:
+				return getR();
+			case 2:
+				return getK();
+		}
+		throw new IllegalArgumentException("Argument " + n + " does not exist");
+	}
+
+
+	public void setArgument(int n, double value) {
+		switch (n) {
+			case 0:
+				setN0(value);
+				break;
+			case 1:
+				setR(value);
+				break;
+			case 2:
+				setK(value);
+				break;
+			default:
+				throw new IllegalArgumentException("Argument " + n + " does not exist");
+
+		}
+	}
+
+	public double getLowerBound(int n) {
+		switch (n) {
+			case 0:
+				return 0;
+			case 1:
+				return Double.NEGATIVE_INFINITY;
+			case 2:
+				return 0;
+			default:
+				throw new IllegalArgumentException("Argument " + n + " does not exist");
+
+		}
+	}
+	
+	public double getUpperBound(int n) {
+		return Double.POSITIVE_INFINITY;
+	}
+
+	public DemographicFunction getCopy() {
+		FlexibleGrowth df = new FlexibleGrowth(getUnits());
+		df.setN0(getN0());
+		df.setR(getR());
+		df.K = K;
+		
+		return df;
+	}
+
+	//
+	// private stuff
+	//
+
+	private double K;
+}
diff --git a/src/dr/evolution/coalescent/IntervalList.java b/src/dr/evolution/coalescent/IntervalList.java
index 0bbc9e6..d1588c2 100644
--- a/src/dr/evolution/coalescent/IntervalList.java
+++ b/src/dr/evolution/coalescent/IntervalList.java
@@ -1,7 +1,7 @@
 /*
  * IntervalList.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/IntervalType.java b/src/dr/evolution/coalescent/IntervalType.java
index 927a7dc..9bbf610 100644
--- a/src/dr/evolution/coalescent/IntervalType.java
+++ b/src/dr/evolution/coalescent/IntervalType.java
@@ -1,7 +1,7 @@
 /*
  * IntervalType.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/coalescent/Intervals.java b/src/dr/evolution/coalescent/Intervals.java
index 86903ae..a8e294d 100644
--- a/src/dr/evolution/coalescent/Intervals.java
+++ b/src/dr/evolution/coalescent/Intervals.java
@@ -1,7 +1,7 @@
 /*
  * Intervals.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/LinearGrowth.java b/src/dr/evolution/coalescent/LinearGrowth.java
new file mode 100644
index 0000000..fa5b6b7
--- /dev/null
+++ b/src/dr/evolution/coalescent/LinearGrowth.java
@@ -0,0 +1,124 @@
+/*
+ * LinearGrowth.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.evolution.coalescent;
+
+/**
+ * Under the assumption that the effective population size at time zero was zero (and all coalescent events are
+ * before zero in backwards time), this models linear population groth
+ *
+ * @author Matthew Hall
+ */
+public class LinearGrowth extends ConstantPopulation
+{
+	//
+	// Public stuff
+	//
+
+	/**
+	 * Construct demographic model with default settings
+     * @param units
+     */
+	public LinearGrowth(Type units) {
+
+		super(units);
+	}
+
+	/**
+	 * @return initial population size.
+	 */
+	public double getN0() { return N0; }
+
+	/**
+	 * sets initial population size.
+     * @param N0 new size
+     */
+	public void setN0(double N0) { this.N0 = N0; }
+
+		
+	// Implementation of abstract methods
+	
+	public double getDemographic(double t) {
+		if(t>0){
+			throw new RuntimeException("Negative times only!");
+		}
+
+		return -getN0()*t;
+	}
+	public double getIntensity(double t) {
+		throw new RuntimeException("getIntensity is not implemented (and not finite); use getIntegral instead");
+	}
+
+	public double getInverseIntensity(double x) {
+		throw new RuntimeException("Not implemented");
+	}
+
+	public double getIntegral(double start, double finish) {
+		return 1/getN0() * Math.log((-start)/(-finish));
+	}
+
+	public double getInverseIntegral(double x, double start){
+
+		return start*Math.exp(-(x*getN0()));
+
+	}
+
+	public int getNumArguments() {
+		return 1;
+	}
+	
+	public String getArgumentName(int n) {
+		return "N0";
+	}
+	
+	public double getArgument(int n) {
+		return getN0();
+	}
+	
+	public void setArgument(int n, double value) {
+		setN0(value);
+	}
+
+	public double getLowerBound(int n) {
+		return 0.0;
+	}
+	
+	public double getUpperBound(int n) {
+		return Double.POSITIVE_INFINITY;
+	}
+
+	public DemographicFunction getCopy() {
+		LinearGrowth df = new LinearGrowth(getUnits());
+		df.N0 = N0;
+		
+		return df;
+	}
+
+	//
+	// private stuff
+	//
+	
+	private double N0;
+}
diff --git a/src/dr/evolution/coalescent/LogisticGrowth.java b/src/dr/evolution/coalescent/LogisticGrowth.java
index 5513dc1..d654d1f 100644
--- a/src/dr/evolution/coalescent/LogisticGrowth.java
+++ b/src/dr/evolution/coalescent/LogisticGrowth.java
@@ -1,7 +1,7 @@
 /*
  * LogisticGrowth.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/PLCoalescentSimulator.java b/src/dr/evolution/coalescent/PLCoalescentSimulator.java
index c4deb70..6c3e530 100644
--- a/src/dr/evolution/coalescent/PLCoalescentSimulator.java
+++ b/src/dr/evolution/coalescent/PLCoalescentSimulator.java
@@ -1,3 +1,28 @@
+/*
+ * PLCoalescentSimulator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.coalescent;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evolution/coalescent/PiecewiseConstantPopulation.java b/src/dr/evolution/coalescent/PiecewiseConstantPopulation.java
index 5f42d23..6ab5597 100644
--- a/src/dr/evolution/coalescent/PiecewiseConstantPopulation.java
+++ b/src/dr/evolution/coalescent/PiecewiseConstantPopulation.java
@@ -1,7 +1,7 @@
 /*
  * PiecewiseConstantPopulation.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/PiecewiseExponentialPopulation.java b/src/dr/evolution/coalescent/PiecewiseExponentialPopulation.java
index 038100f..8a61006 100644
--- a/src/dr/evolution/coalescent/PiecewiseExponentialPopulation.java
+++ b/src/dr/evolution/coalescent/PiecewiseExponentialPopulation.java
@@ -1,7 +1,7 @@
 /*
- * PiecewiseLinearPopulation.java
+ * PiecewiseExponentialPopulation.java
  *
- * Copyright (C) 2002-2008 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/PiecewiseLinearPopulation.java b/src/dr/evolution/coalescent/PiecewiseLinearPopulation.java
index f9534f5..84bdc48 100644
--- a/src/dr/evolution/coalescent/PiecewiseLinearPopulation.java
+++ b/src/dr/evolution/coalescent/PiecewiseLinearPopulation.java
@@ -1,7 +1,7 @@
 /*
  * PiecewiseLinearPopulation.java
  *
- * Copyright (C) 2002-2008 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/PowerLawGrowth.java b/src/dr/evolution/coalescent/PowerLawGrowth.java
new file mode 100644
index 0000000..ea6c1e4
--- /dev/null
+++ b/src/dr/evolution/coalescent/PowerLawGrowth.java
@@ -0,0 +1,148 @@
+/*
+ * PowerLawGrowth.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.evolution.coalescent;
+
+/**
+ * Under the assumption that the effective population size at time zero was zero (and all coalescent events are
+ * before zero in backwards time), this models population growth according to a power law N(x)=N0*(-x)^r, where r>1
+ * (Sadly this does not work for r<1)
+ *
+ * @author Matthew Hall
+ */
+public class PowerLawGrowth extends LinearGrowth
+{
+	//
+	// Public stuff
+	//
+
+	/**
+	 * Construct demographic model with default settings
+     * @param units
+     */
+	public PowerLawGrowth(Type units) {
+
+		super(units);
+	}
+
+	/**
+	 * @return initial population size.
+	 */
+
+	public double getR(){
+		return r;
+	}
+
+
+	public void setR(double r) {
+
+
+		this.r = r;
+	}
+
+		
+	// Implementation of abstract methods
+	
+	public double getDemographic(double t) {
+		if(t>0){
+			throw new RuntimeException("Negative times only!");
+		}
+
+		return getN0()*Math.pow(-t,r);
+	}
+	public double getIntensity(double t) {
+		throw new RuntimeException("getIntensity is not implemented (and not finite); use getIntegral instead");
+	}
+
+	public double getInverseIntensity(double x) {
+		throw new RuntimeException("Not implemented");
+	}
+
+	public double getInverseIntegral(double x, double start) {
+		throw new RuntimeException("Not implemented");
+	}
+
+	public double getIntegral(double start, double finish) {
+
+		return (Math.pow(-finish, -r+1) - Math.pow(-start, -r+1))/(getN0()*(r-1));
+	}
+
+
+	public int getNumArguments() {
+		return 2;
+	}
+
+	public String getArgumentName(int n) {
+		if (n == 0) {
+			return "N0";
+		} else {
+			return "r";
+		}
+	}
+
+	public double getArgument(int n) {
+		if (n == 0) {
+			return getN0();
+		} else {
+			return getR();
+		}
+	}
+
+	public void setArgument(int n, double value) {
+		if (n == 0) {
+			setN0(value);
+		} else {
+			setR(value);
+		}
+	}
+
+	public double getLowerBound(int n) {
+
+		if (n == 0) {
+			return 0;
+		} else {
+			return 1;
+		}
+	}
+
+
+	public double getUpperBound(int n) {
+		return Double.POSITIVE_INFINITY;
+	}
+
+	public DemographicFunction getCopy() {
+		PowerLawGrowth df = new PowerLawGrowth(getUnits());
+		df.setN0(getN0());
+		df.r=r;
+		
+		return df;
+	}
+
+	//
+	// private stuff
+	//
+
+	private double r;
+}
diff --git a/src/dr/evolution/coalescent/ScaledDemographic.java b/src/dr/evolution/coalescent/ScaledDemographic.java
index 73add9e..82f8f57 100644
--- a/src/dr/evolution/coalescent/ScaledDemographic.java
+++ b/src/dr/evolution/coalescent/ScaledDemographic.java
@@ -1,3 +1,28 @@
+/*
+ * ScaledDemographic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.coalescent;
 
 /**
diff --git a/src/dr/evolution/coalescent/Skyline.java b/src/dr/evolution/coalescent/Skyline.java
index 70154fc..e2a1e2b 100644
--- a/src/dr/evolution/coalescent/Skyline.java
+++ b/src/dr/evolution/coalescent/Skyline.java
@@ -1,7 +1,7 @@
 /*
  * Skyline.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/TreeIntervals.java b/src/dr/evolution/coalescent/TreeIntervals.java
index 69e158e..d750bd1 100644
--- a/src/dr/evolution/coalescent/TreeIntervals.java
+++ b/src/dr/evolution/coalescent/TreeIntervals.java
@@ -1,7 +1,7 @@
 /*
  * TreeIntervals.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/TwoEpochDemographic.java b/src/dr/evolution/coalescent/TwoEpochDemographic.java
index 2eeb08b..99776d9 100644
--- a/src/dr/evolution/coalescent/TwoEpochDemographic.java
+++ b/src/dr/evolution/coalescent/TwoEpochDemographic.java
@@ -1,7 +1,7 @@
 /*
  * TwoEpochDemographic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/coalescent/structure/ColouredTreeIntervals.java b/src/dr/evolution/coalescent/structure/ColouredTreeIntervals.java
index 55e8d5d..36711dc 100644
--- a/src/dr/evolution/coalescent/structure/ColouredTreeIntervals.java
+++ b/src/dr/evolution/coalescent/structure/ColouredTreeIntervals.java
@@ -1,7 +1,7 @@
 /*
  * ColouredTreeIntervals.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/coalescent/structure/Event.java b/src/dr/evolution/coalescent/structure/Event.java
index fd252f6..6b419aa 100644
--- a/src/dr/evolution/coalescent/structure/Event.java
+++ b/src/dr/evolution/coalescent/structure/Event.java
@@ -1,7 +1,7 @@
 /*
  * Event.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/coalescent/structure/MetaPopulation.java b/src/dr/evolution/coalescent/structure/MetaPopulation.java
index 3451a76..f71e4ee 100644
--- a/src/dr/evolution/coalescent/structure/MetaPopulation.java
+++ b/src/dr/evolution/coalescent/structure/MetaPopulation.java
@@ -1,7 +1,7 @@
 /*
  * MetaPopulation.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/coalescent/structure/StructuredCoalescent.java b/src/dr/evolution/coalescent/structure/StructuredCoalescent.java
index dee06c5..7f9959e 100644
--- a/src/dr/evolution/coalescent/structure/StructuredCoalescent.java
+++ b/src/dr/evolution/coalescent/structure/StructuredCoalescent.java
@@ -1,7 +1,7 @@
 /*
  * StructuredCoalescent.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/coalescent/structure/StructuredCoalescentSimulator.java b/src/dr/evolution/coalescent/structure/StructuredCoalescentSimulator.java
index 36b4f46..581f8e1 100644
--- a/src/dr/evolution/coalescent/structure/StructuredCoalescentSimulator.java
+++ b/src/dr/evolution/coalescent/structure/StructuredCoalescentSimulator.java
@@ -1,7 +1,7 @@
 /*
  * StructuredCoalescentSimulator.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/coalescent/structure/StructuredIntervalList.java b/src/dr/evolution/coalescent/structure/StructuredIntervalList.java
index a213bab..5b348cc 100644
--- a/src/dr/evolution/coalescent/structure/StructuredIntervalList.java
+++ b/src/dr/evolution/coalescent/structure/StructuredIntervalList.java
@@ -1,7 +1,7 @@
 /*
  * StructuredIntervalList.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/colouring/BasicColourSampler.java b/src/dr/evolution/colouring/BasicColourSampler.java
index bd09bec..68d9b0f 100644
--- a/src/dr/evolution/colouring/BasicColourSampler.java
+++ b/src/dr/evolution/colouring/BasicColourSampler.java
@@ -1,7 +1,7 @@
 /*
  * BasicColourSampler.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/colouring/BranchColouring.java b/src/dr/evolution/colouring/BranchColouring.java
index 8996c31..8226b55 100644
--- a/src/dr/evolution/colouring/BranchColouring.java
+++ b/src/dr/evolution/colouring/BranchColouring.java
@@ -1,7 +1,7 @@
 /*
  * BranchColouring.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/colouring/ColourChangeMatrix.java b/src/dr/evolution/colouring/ColourChangeMatrix.java
index c3f594a..b22750a 100644
--- a/src/dr/evolution/colouring/ColourChangeMatrix.java
+++ b/src/dr/evolution/colouring/ColourChangeMatrix.java
@@ -1,7 +1,7 @@
 /*
  * ColourChangeMatrix.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/colouring/ColourSampler.java b/src/dr/evolution/colouring/ColourSampler.java
index 2ab7ecb..6214fce 100644
--- a/src/dr/evolution/colouring/ColourSampler.java
+++ b/src/dr/evolution/colouring/ColourSampler.java
@@ -1,7 +1,7 @@
 /*
  * ColourSampler.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/colouring/DefaultBranchColouring.java b/src/dr/evolution/colouring/DefaultBranchColouring.java
index e9adeb8..28b7588 100644
--- a/src/dr/evolution/colouring/DefaultBranchColouring.java
+++ b/src/dr/evolution/colouring/DefaultBranchColouring.java
@@ -1,7 +1,7 @@
 /*
- * BranchColouring.java
+ * DefaultBranchColouring.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/colouring/DefaultTreeColouring.java b/src/dr/evolution/colouring/DefaultTreeColouring.java
index a1af42b..a4c6dc9 100644
--- a/src/dr/evolution/colouring/DefaultTreeColouring.java
+++ b/src/dr/evolution/colouring/DefaultTreeColouring.java
@@ -1,7 +1,7 @@
 /*
- * TreeColouring.java
+ * DefaultTreeColouring.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/colouring/StructuredColourSampler.java b/src/dr/evolution/colouring/StructuredColourSampler.java
index 6d9fbd9..1be0e63 100644
--- a/src/dr/evolution/colouring/StructuredColourSampler.java
+++ b/src/dr/evolution/colouring/StructuredColourSampler.java
@@ -1,7 +1,7 @@
 /*
  * StructuredColourSampler.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/colouring/SubstitutionModelToColourChangeMatrix.java b/src/dr/evolution/colouring/SubstitutionModelToColourChangeMatrix.java
index a624e18..5a27be1 100644
--- a/src/dr/evolution/colouring/SubstitutionModelToColourChangeMatrix.java
+++ b/src/dr/evolution/colouring/SubstitutionModelToColourChangeMatrix.java
@@ -1,3 +1,28 @@
+/*
+ * SubstitutionModelToColourChangeMatrix.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.colouring;
 
 import dr.app.beagle.evomodel.substmodel.SubstitutionModel;
diff --git a/src/dr/evolution/colouring/TreeColouring.java b/src/dr/evolution/colouring/TreeColouring.java
index 65da9b1..535ac7e 100644
--- a/src/dr/evolution/colouring/TreeColouring.java
+++ b/src/dr/evolution/colouring/TreeColouring.java
@@ -1,3 +1,28 @@
+/*
+ * TreeColouring.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.colouring;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evolution/colouring/TreeColouringProvider.java b/src/dr/evolution/colouring/TreeColouringProvider.java
index 69a0bf7..8b6aa6b 100644
--- a/src/dr/evolution/colouring/TreeColouringProvider.java
+++ b/src/dr/evolution/colouring/TreeColouringProvider.java
@@ -1,3 +1,28 @@
+/*
+ * TreeColouringProvider.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.colouring;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evolution/colouring/TwoColourSampler.java b/src/dr/evolution/colouring/TwoColourSampler.java
index 2770aac..4a5ab89 100644
--- a/src/dr/evolution/colouring/TwoColourSampler.java
+++ b/src/dr/evolution/colouring/TwoColourSampler.java
@@ -1,7 +1,7 @@
 /*
  * TwoColourSampler.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/continuous/Continuous.java b/src/dr/evolution/continuous/Continuous.java
index e0a77a3..5b6f80d 100644
--- a/src/dr/evolution/continuous/Continuous.java
+++ b/src/dr/evolution/continuous/Continuous.java
@@ -1,7 +1,7 @@
 /*
  * Continuous.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/continuous/ContinuousTraitLikelihood.java b/src/dr/evolution/continuous/ContinuousTraitLikelihood.java
index 39e4340..4c7fe5a 100644
--- a/src/dr/evolution/continuous/ContinuousTraitLikelihood.java
+++ b/src/dr/evolution/continuous/ContinuousTraitLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * ContinuousTraitLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/continuous/Contrastable.java b/src/dr/evolution/continuous/Contrastable.java
index 5b6635b..4112910 100644
--- a/src/dr/evolution/continuous/Contrastable.java
+++ b/src/dr/evolution/continuous/Contrastable.java
@@ -1,7 +1,7 @@
 /*
  * Contrastable.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/continuous/DiffusionLikelihood.java b/src/dr/evolution/continuous/DiffusionLikelihood.java
index 8725ea5..1f7d456 100644
--- a/src/dr/evolution/continuous/DiffusionLikelihood.java
+++ b/src/dr/evolution/continuous/DiffusionLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * DiffusionLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/datatype/AminoAcids.java b/src/dr/evolution/datatype/AminoAcids.java
index dcde860..ac8d886 100644
--- a/src/dr/evolution/datatype/AminoAcids.java
+++ b/src/dr/evolution/datatype/AminoAcids.java
@@ -1,7 +1,7 @@
 /*
  * AminoAcids.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/datatype/CodonTable.java b/src/dr/evolution/datatype/CodonTable.java
index 48e21df..0b3ad66 100644
--- a/src/dr/evolution/datatype/CodonTable.java
+++ b/src/dr/evolution/datatype/CodonTable.java
@@ -1,7 +1,7 @@
 /*
  * CodonTable.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/datatype/Codons.java b/src/dr/evolution/datatype/Codons.java
index af4df33..57b9973 100644
--- a/src/dr/evolution/datatype/Codons.java
+++ b/src/dr/evolution/datatype/Codons.java
@@ -1,7 +1,7 @@
 /*
  * Codons.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/datatype/ContinuousDataType.java b/src/dr/evolution/datatype/ContinuousDataType.java
index 7e63a2c..8b2f098 100644
--- a/src/dr/evolution/datatype/ContinuousDataType.java
+++ b/src/dr/evolution/datatype/ContinuousDataType.java
@@ -1,3 +1,28 @@
+/*
+ * ContinuousDataType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.datatype;
 
 /**
diff --git a/src/dr/evolution/datatype/DataType.java b/src/dr/evolution/datatype/DataType.java
index 52eca9b..d90a832 100644
--- a/src/dr/evolution/datatype/DataType.java
+++ b/src/dr/evolution/datatype/DataType.java
@@ -1,7 +1,7 @@
 /*
  * DataType.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/datatype/GeneralDataType.java b/src/dr/evolution/datatype/GeneralDataType.java
index 2b03398..9a12c99 100644
--- a/src/dr/evolution/datatype/GeneralDataType.java
+++ b/src/dr/evolution/datatype/GeneralDataType.java
@@ -1,7 +1,7 @@
 /*
  * GeneralDataType.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/datatype/GeneticCode.java b/src/dr/evolution/datatype/GeneticCode.java
index 55a458f..f23f167 100644
--- a/src/dr/evolution/datatype/GeneticCode.java
+++ b/src/dr/evolution/datatype/GeneticCode.java
@@ -1,7 +1,7 @@
 /*
  * GeneticCode.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/datatype/HiddenCodons.java b/src/dr/evolution/datatype/HiddenCodons.java
index 295dc07..85f79e1 100644
--- a/src/dr/evolution/datatype/HiddenCodons.java
+++ b/src/dr/evolution/datatype/HiddenCodons.java
@@ -1,3 +1,28 @@
+/*
+ * HiddenCodons.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.datatype;
 
 /**
diff --git a/src/dr/evolution/datatype/HiddenDataType.java b/src/dr/evolution/datatype/HiddenDataType.java
index ee9adc2..c986b27 100644
--- a/src/dr/evolution/datatype/HiddenDataType.java
+++ b/src/dr/evolution/datatype/HiddenDataType.java
@@ -1,3 +1,28 @@
+/*
+ * HiddenDataType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.datatype;
 
 /**
diff --git a/src/dr/evolution/datatype/HiddenNucleotides.java b/src/dr/evolution/datatype/HiddenNucleotides.java
index dbe0ccd..02054cd 100644
--- a/src/dr/evolution/datatype/HiddenNucleotides.java
+++ b/src/dr/evolution/datatype/HiddenNucleotides.java
@@ -1,7 +1,7 @@
 /*
  * HiddenNucleotides.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/datatype/Microsatellite.java b/src/dr/evolution/datatype/Microsatellite.java
index f31510e..ba2a405 100644
--- a/src/dr/evolution/datatype/Microsatellite.java
+++ b/src/dr/evolution/datatype/Microsatellite.java
@@ -1,3 +1,28 @@
+/*
+ * Microsatellite.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.datatype;
 import java.util.ArrayList;
 
diff --git a/src/dr/evolution/datatype/MutationDeathType.java b/src/dr/evolution/datatype/MutationDeathType.java
index 1890747..7591f0c 100644
--- a/src/dr/evolution/datatype/MutationDeathType.java
+++ b/src/dr/evolution/datatype/MutationDeathType.java
@@ -1,3 +1,28 @@
+/*
+ * MutationDeathType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.datatype;
 
 /**
diff --git a/src/dr/evolution/datatype/NewHiddenNucleotides.java b/src/dr/evolution/datatype/NewHiddenNucleotides.java
index 7d06d22..463475f 100644
--- a/src/dr/evolution/datatype/NewHiddenNucleotides.java
+++ b/src/dr/evolution/datatype/NewHiddenNucleotides.java
@@ -1,7 +1,7 @@
 /*
  * NewHiddenNucleotides.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/datatype/Nucleotides.java b/src/dr/evolution/datatype/Nucleotides.java
index f7eb705..c3a7ae5 100644
--- a/src/dr/evolution/datatype/Nucleotides.java
+++ b/src/dr/evolution/datatype/Nucleotides.java
@@ -1,7 +1,7 @@
 /*
  * Nucleotides.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/datatype/P2P.java b/src/dr/evolution/datatype/P2P.java
index bfa872d..a1c9c06 100644
--- a/src/dr/evolution/datatype/P2P.java
+++ b/src/dr/evolution/datatype/P2P.java
@@ -1,3 +1,28 @@
+/*
+ * P2P.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.datatype;
 
 /**
diff --git a/src/dr/evolution/datatype/PairedDataType.java b/src/dr/evolution/datatype/PairedDataType.java
index 6313efb..fb0ced1 100644
--- a/src/dr/evolution/datatype/PairedDataType.java
+++ b/src/dr/evolution/datatype/PairedDataType.java
@@ -1,7 +1,7 @@
 /*
  * PairedDataType.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/datatype/PloidyType.java b/src/dr/evolution/datatype/PloidyType.java
index 85d0d0f..477539c 100644
--- a/src/dr/evolution/datatype/PloidyType.java
+++ b/src/dr/evolution/datatype/PloidyType.java
@@ -1,3 +1,28 @@
+/*
+ * PloidyType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.datatype;
 
 /**
diff --git a/src/dr/evolution/datatype/SimpleCodons.java b/src/dr/evolution/datatype/SimpleCodons.java
index 5c6ba05..dfdc27a 100644
--- a/src/dr/evolution/datatype/SimpleCodons.java
+++ b/src/dr/evolution/datatype/SimpleCodons.java
@@ -1,7 +1,7 @@
 /*
  * SimpleCodons.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/datatype/TwoStateCovarion.java b/src/dr/evolution/datatype/TwoStateCovarion.java
index c0203da..6268628 100755
--- a/src/dr/evolution/datatype/TwoStateCovarion.java
+++ b/src/dr/evolution/datatype/TwoStateCovarion.java
@@ -1,7 +1,7 @@
 /*
  * TwoStateCovarion.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/datatype/TwoStates.java b/src/dr/evolution/datatype/TwoStates.java
index 831d139..34725a1 100644
--- a/src/dr/evolution/datatype/TwoStates.java
+++ b/src/dr/evolution/datatype/TwoStates.java
@@ -1,7 +1,7 @@
 /*
  * TwoStates.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/distance/DistanceMatrix.java b/src/dr/evolution/distance/DistanceMatrix.java
index 30e967d..c4c7af5 100644
--- a/src/dr/evolution/distance/DistanceMatrix.java
+++ b/src/dr/evolution/distance/DistanceMatrix.java
@@ -1,7 +1,7 @@
 /*
  * DistanceMatrix.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/distance/F84DistanceMatrix.java b/src/dr/evolution/distance/F84DistanceMatrix.java
index 6490f52..5296176 100644
--- a/src/dr/evolution/distance/F84DistanceMatrix.java
+++ b/src/dr/evolution/distance/F84DistanceMatrix.java
@@ -1,7 +1,7 @@
 /*
  * F84DistanceMatrix.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/distance/JukesCantorDistanceMatrix.java b/src/dr/evolution/distance/JukesCantorDistanceMatrix.java
index 165e7a6..6f981ca 100644
--- a/src/dr/evolution/distance/JukesCantorDistanceMatrix.java
+++ b/src/dr/evolution/distance/JukesCantorDistanceMatrix.java
@@ -1,7 +1,7 @@
 /*
  * JukesCantorDistanceMatrix.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/distance/PatristicDistanceMatrix.java b/src/dr/evolution/distance/PatristicDistanceMatrix.java
index e8c4476..0cb2698 100644
--- a/src/dr/evolution/distance/PatristicDistanceMatrix.java
+++ b/src/dr/evolution/distance/PatristicDistanceMatrix.java
@@ -1,3 +1,28 @@
+/*
+ * PatristicDistanceMatrix.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.distance;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evolution/distance/SMMDistanceMatrix.java b/src/dr/evolution/distance/SMMDistanceMatrix.java
index d331133..1d43923 100644
--- a/src/dr/evolution/distance/SMMDistanceMatrix.java
+++ b/src/dr/evolution/distance/SMMDistanceMatrix.java
@@ -1,3 +1,28 @@
+/*
+ * SMMDistanceMatrix.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.distance;
 
 import dr.evolution.alignment.PatternList;
diff --git a/src/dr/evolution/io/FastaImporter.java b/src/dr/evolution/io/FastaImporter.java
index 1fd7431..4819ae7 100644
--- a/src/dr/evolution/io/FastaImporter.java
+++ b/src/dr/evolution/io/FastaImporter.java
@@ -1,7 +1,7 @@
 /*
- * PhylipSequentialImporter.java
+ * FastaImporter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/io/Importer.java b/src/dr/evolution/io/Importer.java
index 360d62e..bbd23ea 100644
--- a/src/dr/evolution/io/Importer.java
+++ b/src/dr/evolution/io/Importer.java
@@ -1,7 +1,7 @@
 /*
  * Importer.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/io/MicroSatImporter.java b/src/dr/evolution/io/MicroSatImporter.java
index 07c561c..2a8a2da 100644
--- a/src/dr/evolution/io/MicroSatImporter.java
+++ b/src/dr/evolution/io/MicroSatImporter.java
@@ -1,3 +1,28 @@
+/*
+ * MicroSatImporter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.io;
 
 import dr.evolution.alignment.Patterns;
diff --git a/src/dr/evolution/io/MigrateTreeImporter.java b/src/dr/evolution/io/MigrateTreeImporter.java
index 7eb0277..e3a377c 100644
--- a/src/dr/evolution/io/MigrateTreeImporter.java
+++ b/src/dr/evolution/io/MigrateTreeImporter.java
@@ -1,7 +1,7 @@
 /*
  * MigrateTreeImporter.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/io/NewickImporter.java b/src/dr/evolution/io/NewickImporter.java
index 96e48da..faadd47 100644
--- a/src/dr/evolution/io/NewickImporter.java
+++ b/src/dr/evolution/io/NewickImporter.java
@@ -1,7 +1,7 @@
 /*
  * NewickImporter.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/io/NexusImporter.java b/src/dr/evolution/io/NexusImporter.java
index 439acc3..a6a9a97 100644
--- a/src/dr/evolution/io/NexusImporter.java
+++ b/src/dr/evolution/io/NexusImporter.java
@@ -1,7 +1,7 @@
 /*
  * NexusImporter.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/io/PatternImporter.java b/src/dr/evolution/io/PatternImporter.java
index bc3c876..99ac58e 100644
--- a/src/dr/evolution/io/PatternImporter.java
+++ b/src/dr/evolution/io/PatternImporter.java
@@ -1,3 +1,28 @@
+/*
+ * PatternImporter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.io;
 
 import dr.evolution.alignment.Patterns;
diff --git a/src/dr/evolution/io/PhylipSequentialImporter.java b/src/dr/evolution/io/PhylipSequentialImporter.java
index c8570c4..8ed8b1f 100644
--- a/src/dr/evolution/io/PhylipSequentialImporter.java
+++ b/src/dr/evolution/io/PhylipSequentialImporter.java
@@ -1,7 +1,7 @@
 /*
  * PhylipSequentialImporter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/io/SequenceImporter.java b/src/dr/evolution/io/SequenceImporter.java
index ff4ca97..5ff1070 100644
--- a/src/dr/evolution/io/SequenceImporter.java
+++ b/src/dr/evolution/io/SequenceImporter.java
@@ -1,7 +1,7 @@
 /*
  * SequenceImporter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/io/TreeExporter.java b/src/dr/evolution/io/TreeExporter.java
index 3e8661b..0dd98ae 100644
--- a/src/dr/evolution/io/TreeExporter.java
+++ b/src/dr/evolution/io/TreeExporter.java
@@ -1,7 +1,7 @@
 /*
  * TreeExporter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/io/TreeImporter.java b/src/dr/evolution/io/TreeImporter.java
index 1c2a4de..b8e8a83 100644
--- a/src/dr/evolution/io/TreeImporter.java
+++ b/src/dr/evolution/io/TreeImporter.java
@@ -1,7 +1,7 @@
 /*
  * TreeImporter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/io/TreeTrace.java b/src/dr/evolution/io/TreeTrace.java
index e09290b..ceb5efb 100644
--- a/src/dr/evolution/io/TreeTrace.java
+++ b/src/dr/evolution/io/TreeTrace.java
@@ -1,7 +1,7 @@
 /*
  * TreeTrace.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/parsimony/FitchParsimony.java b/src/dr/evolution/parsimony/FitchParsimony.java
index 9b2df40..795e21b 100644
--- a/src/dr/evolution/parsimony/FitchParsimony.java
+++ b/src/dr/evolution/parsimony/FitchParsimony.java
@@ -1,7 +1,7 @@
 /*
  * FitchParsimony.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/parsimony/Parsimony.java b/src/dr/evolution/parsimony/Parsimony.java
index 00d66ac..c32c69b 100644
--- a/src/dr/evolution/parsimony/Parsimony.java
+++ b/src/dr/evolution/parsimony/Parsimony.java
@@ -1,7 +1,7 @@
 /*
  * Parsimony.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/parsimony/ParsimonyCriterion.java b/src/dr/evolution/parsimony/ParsimonyCriterion.java
index 918dfae..61be6da 100644
--- a/src/dr/evolution/parsimony/ParsimonyCriterion.java
+++ b/src/dr/evolution/parsimony/ParsimonyCriterion.java
@@ -1,7 +1,7 @@
 /*
  * ParsimonyCriterion.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/parsimony/SankoffParsimony.java b/src/dr/evolution/parsimony/SankoffParsimony.java
index 9dd5e9e..1763459 100644
--- a/src/dr/evolution/parsimony/SankoffParsimony.java
+++ b/src/dr/evolution/parsimony/SankoffParsimony.java
@@ -1,7 +1,7 @@
 /*
  * SankoffParsimony.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/parsimony/TestParsimony.java b/src/dr/evolution/parsimony/TestParsimony.java
index bc5ee7b..8127578 100644
--- a/src/dr/evolution/parsimony/TestParsimony.java
+++ b/src/dr/evolution/parsimony/TestParsimony.java
@@ -1,7 +1,7 @@
 /*
  * TestParsimony.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/phylogeny/Lineage.java b/src/dr/evolution/phylogeny/Lineage.java
index d0e217d..6d26faa 100644
--- a/src/dr/evolution/phylogeny/Lineage.java
+++ b/src/dr/evolution/phylogeny/Lineage.java
@@ -1,7 +1,7 @@
 /*
  * Lineage.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/phylogeny/Phylogeny.java b/src/dr/evolution/phylogeny/Phylogeny.java
index 4e0421e..6602f19 100644
--- a/src/dr/evolution/phylogeny/Phylogeny.java
+++ b/src/dr/evolution/phylogeny/Phylogeny.java
@@ -1,7 +1,7 @@
 /*
  * Phylogeny.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/sequence/Sequence.java b/src/dr/evolution/sequence/Sequence.java
index acbd51c..23b93fe 100644
--- a/src/dr/evolution/sequence/Sequence.java
+++ b/src/dr/evolution/sequence/Sequence.java
@@ -1,7 +1,7 @@
 /*
  * Sequence.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/sequence/SequenceList.java b/src/dr/evolution/sequence/SequenceList.java
index c99da90..ae96c39 100644
--- a/src/dr/evolution/sequence/SequenceList.java
+++ b/src/dr/evolution/sequence/SequenceList.java
@@ -1,7 +1,7 @@
 /*
  * SequenceList.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/sequence/Sequences.java b/src/dr/evolution/sequence/Sequences.java
index e2e5fc2..e792e87 100644
--- a/src/dr/evolution/sequence/Sequences.java
+++ b/src/dr/evolution/sequence/Sequences.java
@@ -1,7 +1,7 @@
 /*
  * Sequences.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/tree/BranchRates.java b/src/dr/evolution/tree/BranchRates.java
index 5e00b0c..9ba8e45 100644
--- a/src/dr/evolution/tree/BranchRates.java
+++ b/src/dr/evolution/tree/BranchRates.java
@@ -1,7 +1,7 @@
 /*
- * BranchRateController.java
+ * BranchRates.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/BranchScoreMetric.java b/src/dr/evolution/tree/BranchScoreMetric.java
index d389cb0..ccf0bf7 100644
--- a/src/dr/evolution/tree/BranchScoreMetric.java
+++ b/src/dr/evolution/tree/BranchScoreMetric.java
@@ -1,3 +1,28 @@
+/*
+ * BranchScoreMetric.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  * 
  */
diff --git a/src/dr/evolution/tree/Clade.java b/src/dr/evolution/tree/Clade.java
index 45393f2..1deff4d 100644
--- a/src/dr/evolution/tree/Clade.java
+++ b/src/dr/evolution/tree/Clade.java
@@ -1,3 +1,28 @@
+/*
+ * Clade.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  * 
  */
diff --git a/src/dr/evolution/tree/CladeDistribution.java b/src/dr/evolution/tree/CladeDistribution.java
index bc35037..ac7ac72 100644
--- a/src/dr/evolution/tree/CladeDistribution.java
+++ b/src/dr/evolution/tree/CladeDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * CladeDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  * 
  */
diff --git a/src/dr/evolution/tree/CladeMetric.java b/src/dr/evolution/tree/CladeMetric.java
index dd75e52..c3c098f 100644
--- a/src/dr/evolution/tree/CladeMetric.java
+++ b/src/dr/evolution/tree/CladeMetric.java
@@ -1,3 +1,28 @@
+/*
+ * CladeMetric.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.tree;
 
 import jebl.evolution.graphs.Node;
diff --git a/src/dr/evolution/tree/CladeSet.java b/src/dr/evolution/tree/CladeSet.java
index 1e586f4..e609431 100644
--- a/src/dr/evolution/tree/CladeSet.java
+++ b/src/dr/evolution/tree/CladeSet.java
@@ -1,7 +1,7 @@
 /*
  * CladeSet.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/ClusteringTree.java b/src/dr/evolution/tree/ClusteringTree.java
index e72e381..4cc94ef 100644
--- a/src/dr/evolution/tree/ClusteringTree.java
+++ b/src/dr/evolution/tree/ClusteringTree.java
@@ -1,7 +1,7 @@
 /*
  * ClusteringTree.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/ColourChange.java b/src/dr/evolution/tree/ColourChange.java
index c955a62..c3fd105 100644
--- a/src/dr/evolution/tree/ColourChange.java
+++ b/src/dr/evolution/tree/ColourChange.java
@@ -1,7 +1,7 @@
 /*
  * ColourChange.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/ColouredTree.java b/src/dr/evolution/tree/ColouredTree.java
index d377d5b..ef6697e 100644
--- a/src/dr/evolution/tree/ColouredTree.java
+++ b/src/dr/evolution/tree/ColouredTree.java
@@ -1,7 +1,7 @@
 /*
  * ColouredTree.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/CountConstrainedRankedHistories.java b/src/dr/evolution/tree/CountConstrainedRankedHistories.java
index 94b8ac0..babefd2 100644
--- a/src/dr/evolution/tree/CountConstrainedRankedHistories.java
+++ b/src/dr/evolution/tree/CountConstrainedRankedHistories.java
@@ -1,7 +1,7 @@
 /*
  * CountConstrainedRankedHistories.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/tree/FlexibleNode.java b/src/dr/evolution/tree/FlexibleNode.java
index 63d12fe..620cf3e 100644
--- a/src/dr/evolution/tree/FlexibleNode.java
+++ b/src/dr/evolution/tree/FlexibleNode.java
@@ -1,7 +1,7 @@
 /*
  * FlexibleNode.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/FlexibleTree.java b/src/dr/evolution/tree/FlexibleTree.java
index d84faaa..424c69d 100644
--- a/src/dr/evolution/tree/FlexibleTree.java
+++ b/src/dr/evolution/tree/FlexibleTree.java
@@ -1,7 +1,7 @@
 /*
  * FlexibleTree.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/ImportanceDistribution.java b/src/dr/evolution/tree/ImportanceDistribution.java
index 6d34f49..aa0ed97 100644
--- a/src/dr/evolution/tree/ImportanceDistribution.java
+++ b/src/dr/evolution/tree/ImportanceDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * ImportanceDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  * 
  */
diff --git a/src/dr/evolution/tree/LeastSquaresClockTree.java b/src/dr/evolution/tree/LeastSquaresClockTree.java
index bc2085a..67696c8 100644
--- a/src/dr/evolution/tree/LeastSquaresClockTree.java
+++ b/src/dr/evolution/tree/LeastSquaresClockTree.java
@@ -1,7 +1,7 @@
 /*
  * LeastSquaresClockTree.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/LineageCountThroughTime.java b/src/dr/evolution/tree/LineageCountThroughTime.java
index 5a6da9b..776678d 100644
--- a/src/dr/evolution/tree/LineageCountThroughTime.java
+++ b/src/dr/evolution/tree/LineageCountThroughTime.java
@@ -1,7 +1,7 @@
 /*
  * LineageCountThroughTime.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/tree/MultivariateTraitTree.java b/src/dr/evolution/tree/MultivariateTraitTree.java
index 2f9fe2a..917cde9 100644
--- a/src/dr/evolution/tree/MultivariateTraitTree.java
+++ b/src/dr/evolution/tree/MultivariateTraitTree.java
@@ -1,7 +1,7 @@
 /*
  * MultivariateTraitTree.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/MutableTree.java b/src/dr/evolution/tree/MutableTree.java
index a36df9d..afad1b6 100644
--- a/src/dr/evolution/tree/MutableTree.java
+++ b/src/dr/evolution/tree/MutableTree.java
@@ -1,7 +1,7 @@
 /*
  * MutableTree.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/MutableTreeListener.java b/src/dr/evolution/tree/MutableTreeListener.java
index 20c9a32..05ddb2a 100644
--- a/src/dr/evolution/tree/MutableTreeListener.java
+++ b/src/dr/evolution/tree/MutableTreeListener.java
@@ -1,7 +1,7 @@
 /*
  * MutableTreeListener.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/MutableTreeUtils.java b/src/dr/evolution/tree/MutableTreeUtils.java
index 7d9bac3..afbe5e7 100644
--- a/src/dr/evolution/tree/MutableTreeUtils.java
+++ b/src/dr/evolution/tree/MutableTreeUtils.java
@@ -1,7 +1,7 @@
 /*
  * MutableTreeUtils.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/NeighborJoiningTree.java b/src/dr/evolution/tree/NeighborJoiningTree.java
index 26faa90..0ba5b6f 100644
--- a/src/dr/evolution/tree/NeighborJoiningTree.java
+++ b/src/dr/evolution/tree/NeighborJoiningTree.java
@@ -1,7 +1,7 @@
 /*
  * NeighborJoiningTree.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/NodeRef.java b/src/dr/evolution/tree/NodeRef.java
index e8fcec0..a98b8d6 100644
--- a/src/dr/evolution/tree/NodeRef.java
+++ b/src/dr/evolution/tree/NodeRef.java
@@ -1,7 +1,7 @@
 /*
  * NodeRef.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/RankedForest.java b/src/dr/evolution/tree/RankedForest.java
index 6f3f0e8..32b1760 100644
--- a/src/dr/evolution/tree/RankedForest.java
+++ b/src/dr/evolution/tree/RankedForest.java
@@ -1,7 +1,7 @@
 /*
  * RankedForest.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/tree/RankedNode.java b/src/dr/evolution/tree/RankedNode.java
index b4f8f08..3391df1 100644
--- a/src/dr/evolution/tree/RankedNode.java
+++ b/src/dr/evolution/tree/RankedNode.java
@@ -1,7 +1,7 @@
 /*
  * RankedNode.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evolution/tree/RateSmoothingTree.java b/src/dr/evolution/tree/RateSmoothingTree.java
index 8e2a263..97e5ace 100644
--- a/src/dr/evolution/tree/RateSmoothingTree.java
+++ b/src/dr/evolution/tree/RateSmoothingTree.java
@@ -1,7 +1,7 @@
 /*
  * RateSmoothingTree.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/SimpleNode.java b/src/dr/evolution/tree/SimpleNode.java
index cb9760e..55e20ff 100644
--- a/src/dr/evolution/tree/SimpleNode.java
+++ b/src/dr/evolution/tree/SimpleNode.java
@@ -1,7 +1,7 @@
 /*
  * SimpleNode.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/SimpleTree.java b/src/dr/evolution/tree/SimpleTree.java
index d4756d2..ce8ff6c 100644
--- a/src/dr/evolution/tree/SimpleTree.java
+++ b/src/dr/evolution/tree/SimpleTree.java
@@ -1,7 +1,7 @@
 /*
  * SimpleTree.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/SlidableTree.java b/src/dr/evolution/tree/SlidableTree.java
index 158c7cd..ca04ae5 100644
--- a/src/dr/evolution/tree/SlidableTree.java
+++ b/src/dr/evolution/tree/SlidableTree.java
@@ -1,4 +1,29 @@
 
+/*
+ * SlidableTree.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.tree;
 
 import dr.evolution.util.Taxon;
diff --git a/src/dr/evolution/tree/SplitSystem.java b/src/dr/evolution/tree/SplitSystem.java
index 4bb4bcc..fb55032 100644
--- a/src/dr/evolution/tree/SplitSystem.java
+++ b/src/dr/evolution/tree/SplitSystem.java
@@ -1,7 +1,7 @@
 /*
  * SplitSystem.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/SplitUtils.java b/src/dr/evolution/tree/SplitUtils.java
index b571542..5561980 100644
--- a/src/dr/evolution/tree/SplitUtils.java
+++ b/src/dr/evolution/tree/SplitUtils.java
@@ -1,7 +1,7 @@
 /*
  * SplitUtils.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/SubtreeSlide.java b/src/dr/evolution/tree/SubtreeSlide.java
index a26cfe7..bb2bfe4 100644
--- a/src/dr/evolution/tree/SubtreeSlide.java
+++ b/src/dr/evolution/tree/SubtreeSlide.java
@@ -1,7 +1,7 @@
 /*
  * SubtreeSlide.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/Tree.java b/src/dr/evolution/tree/Tree.java
index fda7756..f4fdac3 100644
--- a/src/dr/evolution/tree/Tree.java
+++ b/src/dr/evolution/tree/Tree.java
@@ -1,7 +1,7 @@
 /*
  * Tree.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/TreeAttributeProvider.java b/src/dr/evolution/tree/TreeAttributeProvider.java
index 002334d..bac2bb0 100644
--- a/src/dr/evolution/tree/TreeAttributeProvider.java
+++ b/src/dr/evolution/tree/TreeAttributeProvider.java
@@ -1,3 +1,28 @@
+/*
+ * TreeAttributeProvider.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.tree;
 
 /**
diff --git a/src/dr/evolution/tree/TreeDoubleTraitProvider.java b/src/dr/evolution/tree/TreeDoubleTraitProvider.java
index d2ea53d..b7184d8 100644
--- a/src/dr/evolution/tree/TreeDoubleTraitProvider.java
+++ b/src/dr/evolution/tree/TreeDoubleTraitProvider.java
@@ -1,7 +1,7 @@
 /*
  * TreeDoubleTraitProvider.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/TreeMetrics.java b/src/dr/evolution/tree/TreeMetrics.java
index d225522..8777b7c 100644
--- a/src/dr/evolution/tree/TreeMetrics.java
+++ b/src/dr/evolution/tree/TreeMetrics.java
@@ -1,7 +1,7 @@
 /*
  * TreeMetrics.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/TreeNodeFilter.java b/src/dr/evolution/tree/TreeNodeFilter.java
index b0ccba7..083519a 100644
--- a/src/dr/evolution/tree/TreeNodeFilter.java
+++ b/src/dr/evolution/tree/TreeNodeFilter.java
@@ -1,3 +1,28 @@
+/*
+ * TreeNodeFilter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.tree;
 
 import dr.evolution.util.TaxonList;
diff --git a/src/dr/evolution/tree/TreeShape.java b/src/dr/evolution/tree/TreeShape.java
index 6822649..6b9eed2 100644
--- a/src/dr/evolution/tree/TreeShape.java
+++ b/src/dr/evolution/tree/TreeShape.java
@@ -1,7 +1,7 @@
 /*
  * TreeShape.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/TreeTrait.java b/src/dr/evolution/tree/TreeTrait.java
index a7b851a..cd54c0b 100644
--- a/src/dr/evolution/tree/TreeTrait.java
+++ b/src/dr/evolution/tree/TreeTrait.java
@@ -1,7 +1,7 @@
 /*
  * TreeTrait.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/TreeTraitProvider.java b/src/dr/evolution/tree/TreeTraitProvider.java
index a2820a4..19f7c6d 100644
--- a/src/dr/evolution/tree/TreeTraitProvider.java
+++ b/src/dr/evolution/tree/TreeTraitProvider.java
@@ -1,3 +1,28 @@
+/*
+ * TreeTraitProvider.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.tree;
 
 import java.util.Collection;
diff --git a/src/dr/evolution/tree/UPGMATree.java b/src/dr/evolution/tree/UPGMATree.java
index 01c4b6a..c5e6760 100644
--- a/src/dr/evolution/tree/UPGMATree.java
+++ b/src/dr/evolution/tree/UPGMATree.java
@@ -1,7 +1,7 @@
 /*
  * UPGMATree.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/tree/UnrootedTree.java b/src/dr/evolution/tree/UnrootedTree.java
index 029398c..6d4708e 100644
--- a/src/dr/evolution/tree/UnrootedTree.java
+++ b/src/dr/evolution/tree/UnrootedTree.java
@@ -1,7 +1,7 @@
 /*
  * UnrootedTree.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/util/Date.java b/src/dr/evolution/util/Date.java
index 5a1654e..99906c0 100644
--- a/src/dr/evolution/util/Date.java
+++ b/src/dr/evolution/util/Date.java
@@ -1,7 +1,7 @@
 /*
  * Date.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/util/Location.java b/src/dr/evolution/util/Location.java
index f6efefe..8e3ce13 100644
--- a/src/dr/evolution/util/Location.java
+++ b/src/dr/evolution/util/Location.java
@@ -1,3 +1,28 @@
+/*
+ * Location.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evolution.util;
 
 import dr.util.Attribute;
diff --git a/src/dr/evolution/util/MutableTaxonList.java b/src/dr/evolution/util/MutableTaxonList.java
index f5f3d5f..c23a98a 100644
--- a/src/dr/evolution/util/MutableTaxonList.java
+++ b/src/dr/evolution/util/MutableTaxonList.java
@@ -1,7 +1,7 @@
 /*
  * MutableTaxonList.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/util/MutableTaxonListListener.java b/src/dr/evolution/util/MutableTaxonListListener.java
index 43b40fe..b45854a 100644
--- a/src/dr/evolution/util/MutableTaxonListListener.java
+++ b/src/dr/evolution/util/MutableTaxonListListener.java
@@ -1,7 +1,7 @@
 /*
  * MutableTaxonListListener.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/util/Taxa.java b/src/dr/evolution/util/Taxa.java
index 261c24a..7af4fff 100644
--- a/src/dr/evolution/util/Taxa.java
+++ b/src/dr/evolution/util/Taxa.java
@@ -1,7 +1,7 @@
 /*
  * Taxa.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/util/Taxon.java b/src/dr/evolution/util/Taxon.java
index 88c96b8..cb513c7 100644
--- a/src/dr/evolution/util/Taxon.java
+++ b/src/dr/evolution/util/Taxon.java
@@ -1,7 +1,7 @@
 /*
  * Taxon.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/util/TaxonList.java b/src/dr/evolution/util/TaxonList.java
index 56af1ee..1ba9227 100644
--- a/src/dr/evolution/util/TaxonList.java
+++ b/src/dr/evolution/util/TaxonList.java
@@ -1,7 +1,7 @@
 /*
  * TaxonList.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/util/TimeScale.java b/src/dr/evolution/util/TimeScale.java
index fb0dfca..14b7efc 100644
--- a/src/dr/evolution/util/TimeScale.java
+++ b/src/dr/evolution/util/TimeScale.java
@@ -1,7 +1,7 @@
 /*
  * TimeScale.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/util/Units.java b/src/dr/evolution/util/Units.java
index 968bfee..ae92229 100644
--- a/src/dr/evolution/util/Units.java
+++ b/src/dr/evolution/util/Units.java
@@ -1,7 +1,7 @@
 /*
  * Units.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/wrightfisher/BakSneppenFitness.java b/src/dr/evolution/wrightfisher/BakSneppenFitness.java
index f32d403..5328107 100644
--- a/src/dr/evolution/wrightfisher/BakSneppenFitness.java
+++ b/src/dr/evolution/wrightfisher/BakSneppenFitness.java
@@ -1,7 +1,7 @@
 /*
  * BakSneppenFitness.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/wrightfisher/BinaryMutator.java b/src/dr/evolution/wrightfisher/BinaryMutator.java
index e446e72..5817dbb 100644
--- a/src/dr/evolution/wrightfisher/BinaryMutator.java
+++ b/src/dr/evolution/wrightfisher/BinaryMutator.java
@@ -1,7 +1,7 @@
 /*
  * BinaryMutator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/wrightfisher/CodonFitnessFunction.java b/src/dr/evolution/wrightfisher/CodonFitnessFunction.java
index 2e8d9a4..ca1e726 100644
--- a/src/dr/evolution/wrightfisher/CodonFitnessFunction.java
+++ b/src/dr/evolution/wrightfisher/CodonFitnessFunction.java
@@ -1,7 +1,7 @@
 /*
  * CodonFitnessFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/wrightfisher/EmpiricalFitnessFunction.java b/src/dr/evolution/wrightfisher/EmpiricalFitnessFunction.java
index deba309..8edd36c 100644
--- a/src/dr/evolution/wrightfisher/EmpiricalFitnessFunction.java
+++ b/src/dr/evolution/wrightfisher/EmpiricalFitnessFunction.java
@@ -1,7 +1,7 @@
 /*
  * EmpiricalFitnessFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/wrightfisher/FitnessFunction.java b/src/dr/evolution/wrightfisher/FitnessFunction.java
index 013e4c1..3345cbd 100644
--- a/src/dr/evolution/wrightfisher/FitnessFunction.java
+++ b/src/dr/evolution/wrightfisher/FitnessFunction.java
@@ -1,7 +1,7 @@
 /*
  * FitnessFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/wrightfisher/GammaFitnessFunction.java b/src/dr/evolution/wrightfisher/GammaFitnessFunction.java
index eeaa2f6..83bc89b 100644
--- a/src/dr/evolution/wrightfisher/GammaFitnessFunction.java
+++ b/src/dr/evolution/wrightfisher/GammaFitnessFunction.java
@@ -1,7 +1,7 @@
 /*
  * GammaFitnessFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/wrightfisher/GammaInvFitnessFunction.java b/src/dr/evolution/wrightfisher/GammaInvFitnessFunction.java
index a14bfad..408ec26 100644
--- a/src/dr/evolution/wrightfisher/GammaInvFitnessFunction.java
+++ b/src/dr/evolution/wrightfisher/GammaInvFitnessFunction.java
@@ -1,7 +1,7 @@
 /*
  * GammaInvFitnessFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/wrightfisher/Genome.java b/src/dr/evolution/wrightfisher/Genome.java
index 578c416..c5411cd 100644
--- a/src/dr/evolution/wrightfisher/Genome.java
+++ b/src/dr/evolution/wrightfisher/Genome.java
@@ -1,7 +1,7 @@
 /*
  * Genome.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/wrightfisher/Mutation.java b/src/dr/evolution/wrightfisher/Mutation.java
index c7275c9..eb2d653 100644
--- a/src/dr/evolution/wrightfisher/Mutation.java
+++ b/src/dr/evolution/wrightfisher/Mutation.java
@@ -1,7 +1,7 @@
 /*
  * Mutation.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/wrightfisher/Mutator.java b/src/dr/evolution/wrightfisher/Mutator.java
index 880653c..551f218 100644
--- a/src/dr/evolution/wrightfisher/Mutator.java
+++ b/src/dr/evolution/wrightfisher/Mutator.java
@@ -1,7 +1,7 @@
 /*
  * Mutator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/wrightfisher/NeutralModel.java b/src/dr/evolution/wrightfisher/NeutralModel.java
index 5bdc72d..d79e422 100644
--- a/src/dr/evolution/wrightfisher/NeutralModel.java
+++ b/src/dr/evolution/wrightfisher/NeutralModel.java
@@ -1,7 +1,7 @@
 /*
  * NeutralModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/wrightfisher/Population.java b/src/dr/evolution/wrightfisher/Population.java
index 8bea170..a213b5e 100644
--- a/src/dr/evolution/wrightfisher/Population.java
+++ b/src/dr/evolution/wrightfisher/Population.java
@@ -1,7 +1,7 @@
 /*
  * Population.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/wrightfisher/SelectionMapping.java b/src/dr/evolution/wrightfisher/SelectionMapping.java
index 1cbdec3..7b1bfd2 100644
--- a/src/dr/evolution/wrightfisher/SelectionMapping.java
+++ b/src/dr/evolution/wrightfisher/SelectionMapping.java
@@ -1,7 +1,7 @@
 /*
  * SelectionMapping.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/wrightfisher/SimpleGenome.java b/src/dr/evolution/wrightfisher/SimpleGenome.java
index 818c1fb..914673f 100644
--- a/src/dr/evolution/wrightfisher/SimpleGenome.java
+++ b/src/dr/evolution/wrightfisher/SimpleGenome.java
@@ -1,7 +1,7 @@
 /*
  * SimpleGenome.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evolution/wrightfisher/SimpleMutator.java b/src/dr/evolution/wrightfisher/SimpleMutator.java
index faaa885..b6b0307 100644
--- a/src/dr/evolution/wrightfisher/SimpleMutator.java
+++ b/src/dr/evolution/wrightfisher/SimpleMutator.java
@@ -1,7 +1,7 @@
 /*
  * SimpleMutator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/MSSD/ALSTreeLikelihood.java b/src/dr/evomodel/MSSD/ALSTreeLikelihood.java
index 8482c2d..e610246 100644
--- a/src/dr/evomodel/MSSD/ALSTreeLikelihood.java
+++ b/src/dr/evomodel/MSSD/ALSTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * ALSTreeLikelihood.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/MSSD/AbstractObservationProcess.java b/src/dr/evomodel/MSSD/AbstractObservationProcess.java
index ff9df92..a750b04 100644
--- a/src/dr/evomodel/MSSD/AbstractObservationProcess.java
+++ b/src/dr/evomodel/MSSD/AbstractObservationProcess.java
@@ -1,7 +1,7 @@
 /*
  * AbstractObservationProcess.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/MSSD/AnyTipObservationProcess.java b/src/dr/evomodel/MSSD/AnyTipObservationProcess.java
index 8d41978..7352d1b 100644
--- a/src/dr/evomodel/MSSD/AnyTipObservationProcess.java
+++ b/src/dr/evomodel/MSSD/AnyTipObservationProcess.java
@@ -1,7 +1,7 @@
 /*
  * AnyTipObservationProcess.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/MSSD/CTMCScalePrior.java b/src/dr/evomodel/MSSD/CTMCScalePrior.java
index 28147a6..7628106 100644
--- a/src/dr/evomodel/MSSD/CTMCScalePrior.java
+++ b/src/dr/evomodel/MSSD/CTMCScalePrior.java
@@ -1,7 +1,7 @@
 /*
  * CTMCScalePrior.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/MSSD/ExponentialBranchLengthTreePrior.java b/src/dr/evomodel/MSSD/ExponentialBranchLengthTreePrior.java
index 7798868..a7b7384 100644
--- a/src/dr/evomodel/MSSD/ExponentialBranchLengthTreePrior.java
+++ b/src/dr/evomodel/MSSD/ExponentialBranchLengthTreePrior.java
@@ -1,3 +1,28 @@
+/*
+ * ExponentialBranchLengthTreePrior.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.MSSD;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodel/MSSD/SingleTipObservationProcess.java b/src/dr/evomodel/MSSD/SingleTipObservationProcess.java
index d87ce3d..2dce02f 100644
--- a/src/dr/evomodel/MSSD/SingleTipObservationProcess.java
+++ b/src/dr/evomodel/MSSD/SingleTipObservationProcess.java
@@ -1,7 +1,7 @@
 /*
  * SingleTipObservationProcess.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/antigenic/AntigenicDriftPrior.java b/src/dr/evomodel/antigenic/AntigenicDriftPrior.java
index 7b8eb8b..95283e0 100644
--- a/src/dr/evomodel/antigenic/AntigenicDriftPrior.java
+++ b/src/dr/evomodel/antigenic/AntigenicDriftPrior.java
@@ -1,3 +1,28 @@
+/*
+ * AntigenicDriftPrior.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.antigenic;
 
 import dr.inference.model.*;
diff --git a/src/dr/evomodel/antigenic/AntigenicLikelihood.java b/src/dr/evomodel/antigenic/AntigenicLikelihood.java
index 492d8dc..351567f 100644
--- a/src/dr/evomodel/antigenic/AntigenicLikelihood.java
+++ b/src/dr/evomodel/antigenic/AntigenicLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * AntigenicLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.antigenic;
 
 import dr.evolution.util.*;
diff --git a/src/dr/evomodel/antigenic/AntigenicSplitPrior.java b/src/dr/evomodel/antigenic/AntigenicSplitPrior.java
index c03f271..138e505 100644
--- a/src/dr/evomodel/antigenic/AntigenicSplitPrior.java
+++ b/src/dr/evomodel/antigenic/AntigenicSplitPrior.java
@@ -1,3 +1,28 @@
+/*
+ * AntigenicSplitPrior.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.antigenic;
 
 import dr.inference.model.*;
diff --git a/src/dr/evomodel/antigenic/AntigenicTraitLikelihood.java b/src/dr/evomodel/antigenic/AntigenicTraitLikelihood.java
index 5ce185f..be9b248 100644
--- a/src/dr/evomodel/antigenic/AntigenicTraitLikelihood.java
+++ b/src/dr/evomodel/antigenic/AntigenicTraitLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * AntigenicTraitLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.antigenic;
 
 import dr.inference.model.*;
diff --git a/src/dr/evomodel/antigenic/CRPClusterRandomWalkOperator.java b/src/dr/evomodel/antigenic/CRPClusterRandomWalkOperator.java
index 6a474c1..43266da 100644
--- a/src/dr/evomodel/antigenic/CRPClusterRandomWalkOperator.java
+++ b/src/dr/evomodel/antigenic/CRPClusterRandomWalkOperator.java
@@ -1,3 +1,28 @@
+/*
+ * CRPClusterRandomWalkOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.antigenic;
 
 
diff --git a/src/dr/evomodel/antigenic/ClusterSingleMoveOperator.java b/src/dr/evomodel/antigenic/ClusterSingleMoveOperator.java
index 348fd8d..0e30b12 100644
--- a/src/dr/evomodel/antigenic/ClusterSingleMoveOperator.java
+++ b/src/dr/evomodel/antigenic/ClusterSingleMoveOperator.java
@@ -1,3 +1,28 @@
+/*
+ * ClusterSingleMoveOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.antigenic;
 
 import dr.inference.model.MatrixParameter;
diff --git a/src/dr/evomodel/antigenic/ClusterSplitMergeOperator.java b/src/dr/evomodel/antigenic/ClusterSplitMergeOperator.java
index 0da90be..b04ed1c 100644
--- a/src/dr/evomodel/antigenic/ClusterSplitMergeOperator.java
+++ b/src/dr/evomodel/antigenic/ClusterSplitMergeOperator.java
@@ -1,3 +1,28 @@
+/*
+ * ClusterSplitMergeOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.antigenic;
 
 import dr.inference.model.MatrixParameter;
diff --git a/src/dr/evomodel/antigenic/ContinuousAntigenicTraitLikelihood.java b/src/dr/evomodel/antigenic/ContinuousAntigenicTraitLikelihood.java
index 586f1eb..9ba9301 100644
--- a/src/dr/evomodel/antigenic/ContinuousAntigenicTraitLikelihood.java
+++ b/src/dr/evomodel/antigenic/ContinuousAntigenicTraitLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * ContinuousAntigenicTraitLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.antigenic;
 
 import dr.inference.model.*;
@@ -244,6 +269,7 @@ public class ContinuousAntigenicTraitLikelihood extends AntigenicTraitLikelihood
 
         initialize(
                 mdsDimension,
+                false,
                 mdsPrecision,
                 locationsParameter,
                 locationLabels,
diff --git a/src/dr/evomodel/antigenic/DirichletProcessGibbsOperator.java b/src/dr/evomodel/antigenic/DirichletProcessGibbsOperator.java
index 9d7494f..0202e95 100644
--- a/src/dr/evomodel/antigenic/DirichletProcessGibbsOperator.java
+++ b/src/dr/evomodel/antigenic/DirichletProcessGibbsOperator.java
@@ -1,3 +1,28 @@
+/*
+ * DirichletProcessGibbsOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.antigenic;
 
 import dr.inference.model.Likelihood;
diff --git a/src/dr/evomodel/antigenic/DiscreteAntigenicTraitLikelihood.java b/src/dr/evomodel/antigenic/DiscreteAntigenicTraitLikelihood.java
index 20ff111..84f97ec 100644
--- a/src/dr/evomodel/antigenic/DiscreteAntigenicTraitLikelihood.java
+++ b/src/dr/evomodel/antigenic/DiscreteAntigenicTraitLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * DiscreteAntigenicTraitLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.antigenic;
 
 import dr.inference.model.*;
@@ -255,6 +280,7 @@ public class DiscreteAntigenicTraitLikelihood extends AntigenicTraitLikelihood i
 
         initialize(
                 mdsDimension,
+                false,
                 mdsPrecision,
                 locationsParameter,
                 locationLabels,
diff --git a/src/dr/evomodel/antigenic/DistanceDependentCRPGibbsOperator.java b/src/dr/evomodel/antigenic/DistanceDependentCRPGibbsOperator.java
index aefd405..226ad58 100644
--- a/src/dr/evomodel/antigenic/DistanceDependentCRPGibbsOperator.java
+++ b/src/dr/evomodel/antigenic/DistanceDependentCRPGibbsOperator.java
@@ -1,3 +1,28 @@
+/*
+ * DistanceDependentCRPGibbsOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.antigenic;
 
 import java.util.logging.Logger;
diff --git a/src/dr/evomodel/antigenic/DriftedLocationsStatistic.java b/src/dr/evomodel/antigenic/DriftedLocationsStatistic.java
index 05c4557..8f278bd 100644
--- a/src/dr/evomodel/antigenic/DriftedLocationsStatistic.java
+++ b/src/dr/evomodel/antigenic/DriftedLocationsStatistic.java
@@ -1,7 +1,7 @@
 /*
  * DriftedLocationsStatistic.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/antigenic/DriftedTraitsLogger.java b/src/dr/evomodel/antigenic/DriftedTraitsLogger.java
index e621c88..81114cc 100644
--- a/src/dr/evomodel/antigenic/DriftedTraitsLogger.java
+++ b/src/dr/evomodel/antigenic/DriftedTraitsLogger.java
@@ -1,7 +1,7 @@
 /*
  * DriftedTraitsLogger.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/antigenic/MultidimensionalScalingLikelihood.java b/src/dr/evomodel/antigenic/MultidimensionalScalingLikelihood.java
index 8eb1a45..a56deac 100644
--- a/src/dr/evomodel/antigenic/MultidimensionalScalingLikelihood.java
+++ b/src/dr/evomodel/antigenic/MultidimensionalScalingLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * MultidimensionalScalingLikelihood.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -64,6 +64,7 @@ public class MultidimensionalScalingLikelihood extends AbstractModelLikelihood {
      */
     public MultidimensionalScalingLikelihood(
             int mdsDimension,
+            boolean isLeftTruncated,
             Parameter mdsPrecision,
             MatrixParameter locationsParameter,
             DataTable<double[]> dataTable) {
@@ -98,11 +99,12 @@ public class MultidimensionalScalingLikelihood extends AbstractModelLikelihood {
 
         }
 
-        initialize(mdsDimension, mdsPrecision, locationsParameter, rowLabels, observations, observationTypes, rowLocationIndices, columnLocationIndices);
+        initialize(mdsDimension, isLeftTruncated, mdsPrecision, locationsParameter, rowLabels, observations, observationTypes, rowLocationIndices, columnLocationIndices);
     }
 
     protected void initialize(
             final int mdsDimension,
+            final boolean isLeftTruncated,
             final Parameter mdsPrecision,
             final MatrixParameter locationsParameter,
             final String[] locationLabels,
@@ -184,7 +186,7 @@ public class MultidimensionalScalingLikelihood extends AbstractModelLikelihood {
         this.mdsPrecisionParameter = mdsPrecision;
         addVariable(mdsPrecision);
 
-        this.isLeftTruncated = false; // Re-normalize likelihood for strictly positive distances
+        this.isLeftTruncated = isLeftTruncated; // Re-normalize likelihood for strictly positive distances
 
         // make sure everything is calculated on first evaluation
         makeDirty();
@@ -602,7 +604,9 @@ public class MultidimensionalScalingLikelihood extends AbstractModelLikelihood {
 
             Parameter mdsPrecision = (Parameter) xo.getElementFirstChild(MDS_PRECISION);
 
-            return new MultidimensionalScalingLikelihood(mdsDimension, mdsPrecision, locationsParameter, distanceTable);
+            boolean isLeftTruncated = false;
+
+            return new MultidimensionalScalingLikelihood(mdsDimension, isLeftTruncated, mdsPrecision, locationsParameter, distanceTable);
         }
 
         //************************************************************************
diff --git a/src/dr/evomodel/antigenic/NPAntigenicLikelihood.java b/src/dr/evomodel/antigenic/NPAntigenicLikelihood.java
index 2351447..610a618 100644
--- a/src/dr/evomodel/antigenic/NPAntigenicLikelihood.java
+++ b/src/dr/evomodel/antigenic/NPAntigenicLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * NPAntigenicLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.antigenic;
 
 import java.util.ArrayList;
diff --git a/src/dr/evomodel/approxPopTree/AbstractPopulationMRCAModel.java b/src/dr/evomodel/approxPopTree/AbstractPopulationMRCAModel.java
index 19be32d..073706d 100644
--- a/src/dr/evomodel/approxPopTree/AbstractPopulationMRCAModel.java
+++ b/src/dr/evomodel/approxPopTree/AbstractPopulationMRCAModel.java
@@ -1,3 +1,28 @@
+/*
+ * AbstractPopulationMRCAModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.approxPopTree;
 
 import dr.evolution.alignment.Patterns;
diff --git a/src/dr/evomodel/approxPopTree/CoalescentPopulationMRCAModel.java b/src/dr/evomodel/approxPopTree/CoalescentPopulationMRCAModel.java
index 386ab03..94baa0c 100644
--- a/src/dr/evomodel/approxPopTree/CoalescentPopulationMRCAModel.java
+++ b/src/dr/evomodel/approxPopTree/CoalescentPopulationMRCAModel.java
@@ -1,3 +1,28 @@
+/*
+ * CoalescentPopulationMRCAModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.approxPopTree;
 
 import dr.evolution.alignment.Patterns;
diff --git a/src/dr/evomodel/approxPopTree/ConstantPopulationMRCAModel.java b/src/dr/evomodel/approxPopTree/ConstantPopulationMRCAModel.java
index 060d522..f4694aa 100644
--- a/src/dr/evomodel/approxPopTree/ConstantPopulationMRCAModel.java
+++ b/src/dr/evomodel/approxPopTree/ConstantPopulationMRCAModel.java
@@ -1,3 +1,28 @@
+/*
+ * ConstantPopulationMRCAModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.approxPopTree;
 
 import dr.evolution.alignment.Patterns;
diff --git a/src/dr/evomodel/approxPopTree/PopTreeModel.java b/src/dr/evomodel/approxPopTree/PopTreeModel.java
index ad332d2..4e67a8d 100644
--- a/src/dr/evomodel/approxPopTree/PopTreeModel.java
+++ b/src/dr/evomodel/approxPopTree/PopTreeModel.java
@@ -1,3 +1,28 @@
+/*
+ * PopTreeModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.approxPopTree;
 
 import dr.evolution.tree.FlexibleTree;
diff --git a/src/dr/evomodel/approxPopTree/UniformPopulationMRCAModel.java b/src/dr/evomodel/approxPopTree/UniformPopulationMRCAModel.java
index 212b790..403a57e 100644
--- a/src/dr/evomodel/approxPopTree/UniformPopulationMRCAModel.java
+++ b/src/dr/evomodel/approxPopTree/UniformPopulationMRCAModel.java
@@ -1,3 +1,28 @@
+/*
+ * UniformPopulationMRCAModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.approxPopTree;
 
 import dr.evolution.alignment.Patterns;
diff --git a/src/dr/evomodel/arg/ARGDistinctTreeCountStatistic.java b/src/dr/evomodel/arg/ARGDistinctTreeCountStatistic.java
index 5cca8ea..0e56cfa 100644
--- a/src/dr/evomodel/arg/ARGDistinctTreeCountStatistic.java
+++ b/src/dr/evomodel/arg/ARGDistinctTreeCountStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * ARGDistinctTreeCountStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg;
 
 import java.util.ArrayList;
diff --git a/src/dr/evomodel/arg/ARGLogger.java b/src/dr/evomodel/arg/ARGLogger.java
index 5d521bf..87691cf 100644
--- a/src/dr/evomodel/arg/ARGLogger.java
+++ b/src/dr/evomodel/arg/ARGLogger.java
@@ -1,3 +1,28 @@
+/*
+ * ARGLogger.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg;
 
 import dr.evoxml.util.GraphMLUtils;
diff --git a/src/dr/evomodel/arg/ARGModel.java b/src/dr/evomodel/arg/ARGModel.java
index fde393a..65d1e99 100755
--- a/src/dr/evomodel/arg/ARGModel.java
+++ b/src/dr/evomodel/arg/ARGModel.java
@@ -1,7 +1,7 @@
 /*
  * ARGModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/arg/ARGPartitionLikelihood.java b/src/dr/evomodel/arg/ARGPartitionLikelihood.java
index 6f4e90a..e2b36ed 100644
--- a/src/dr/evomodel/arg/ARGPartitionLikelihood.java
+++ b/src/dr/evomodel/arg/ARGPartitionLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * ARGPartitionLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg;
 
 import dr.inference.model.AbstractModelLikelihood;
diff --git a/src/dr/evomodel/arg/ARGRatePrior.java b/src/dr/evomodel/arg/ARGRatePrior.java
index 40c56d6..0c334a8 100644
--- a/src/dr/evomodel/arg/ARGRatePrior.java
+++ b/src/dr/evomodel/arg/ARGRatePrior.java
@@ -1,7 +1,7 @@
 /*
  * ARGRatePrior.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/arg/ARGReassortmentNodeCountStatistic.java b/src/dr/evomodel/arg/ARGReassortmentNodeCountStatistic.java
index 3bdc8af..79fb272 100644
--- a/src/dr/evomodel/arg/ARGReassortmentNodeCountStatistic.java
+++ b/src/dr/evomodel/arg/ARGReassortmentNodeCountStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * ARGReassortmentNodeCountStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg;
 
 import dr.inference.model.Statistic;
diff --git a/src/dr/evomodel/arg/ARGReassortmentTimingStatistic.java b/src/dr/evomodel/arg/ARGReassortmentTimingStatistic.java
index cd7fda7..87e826a 100644
--- a/src/dr/evomodel/arg/ARGReassortmentTimingStatistic.java
+++ b/src/dr/evomodel/arg/ARGReassortmentTimingStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * ARGReassortmentTimingStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg;
 
 import java.util.ArrayList;
diff --git a/src/dr/evomodel/arg/ARGRelaxedClock.java b/src/dr/evomodel/arg/ARGRelaxedClock.java
index ca14aa2..3184df7 100644
--- a/src/dr/evomodel/arg/ARGRelaxedClock.java
+++ b/src/dr/evomodel/arg/ARGRelaxedClock.java
@@ -1,7 +1,7 @@
 /*
  * ARGRelaxedClock.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/arg/ARGTotalLengthStatistic.java b/src/dr/evomodel/arg/ARGTotalLengthStatistic.java
index e132d15..8573469 100644
--- a/src/dr/evomodel/arg/ARGTotalLengthStatistic.java
+++ b/src/dr/evomodel/arg/ARGTotalLengthStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * ARGTotalLengthStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg;
 
 import dr.evomodel.arg.ARGModel.Node;
diff --git a/src/dr/evomodel/arg/ARGTrace.java b/src/dr/evomodel/arg/ARGTrace.java
index 2ab9c93..3b4d844 100644
--- a/src/dr/evomodel/arg/ARGTrace.java
+++ b/src/dr/evomodel/arg/ARGTrace.java
@@ -1,3 +1,28 @@
+/*
+ * ARGTrace.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg;
 
 import dr.evolution.io.Importer;
diff --git a/src/dr/evomodel/arg/ARGTraceAnalysis.java b/src/dr/evomodel/arg/ARGTraceAnalysis.java
index 5c76958..45f6173 100644
--- a/src/dr/evomodel/arg/ARGTraceAnalysis.java
+++ b/src/dr/evomodel/arg/ARGTraceAnalysis.java
@@ -1,3 +1,28 @@
+/*
+ * ARGTraceAnalysis.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg;
 
 import dr.evolution.io.Importer;
diff --git a/src/dr/evomodel/arg/ARGTraceAnalysisParser.java b/src/dr/evomodel/arg/ARGTraceAnalysisParser.java
index 584d4bc..f034761 100644
--- a/src/dr/evomodel/arg/ARGTraceAnalysisParser.java
+++ b/src/dr/evomodel/arg/ARGTraceAnalysisParser.java
@@ -1,3 +1,28 @@
+/*
+ * ARGTraceAnalysisParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg;
 
 import dr.evomodel.tree.TreeTraceAnalysis;
diff --git a/src/dr/evomodel/arg/ARGTree.java b/src/dr/evomodel/arg/ARGTree.java
index 2a5576e..175fb79 100644
--- a/src/dr/evomodel/arg/ARGTree.java
+++ b/src/dr/evomodel/arg/ARGTree.java
@@ -1,3 +1,28 @@
+/*
+ * ARGTree.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg;
 
 import dr.evolution.tree.MutableTreeListener;
diff --git a/src/dr/evomodel/arg/ARGTreeLogger.java b/src/dr/evomodel/arg/ARGTreeLogger.java
index 6871a5c..a4fb315 100644
--- a/src/dr/evomodel/arg/ARGTreeLogger.java
+++ b/src/dr/evomodel/arg/ARGTreeLogger.java
@@ -1,7 +1,7 @@
 /*
  * ARGTreeLogger.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/arg/HierarchicalPartitionLikelihood.java b/src/dr/evomodel/arg/HierarchicalPartitionLikelihood.java
index acc1add..1f944f7 100644
--- a/src/dr/evomodel/arg/HierarchicalPartitionLikelihood.java
+++ b/src/dr/evomodel/arg/HierarchicalPartitionLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * HierarchicalPartitionLikelihood.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/arg/OldTreeLogger.java b/src/dr/evomodel/arg/OldTreeLogger.java
index 36041bb..d77c764 100644
--- a/src/dr/evomodel/arg/OldTreeLogger.java
+++ b/src/dr/evomodel/arg/OldTreeLogger.java
@@ -1,7 +1,7 @@
 /*
  * OldTreeLogger.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/arg/PoissonPartitionLikelihood.java b/src/dr/evomodel/arg/PoissonPartitionLikelihood.java
index 62f3504..e35c521 100644
--- a/src/dr/evomodel/arg/PoissonPartitionLikelihood.java
+++ b/src/dr/evomodel/arg/PoissonPartitionLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * PoissonPartitionLikelihood.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/arg/RecombinationPartitionStatistic.java b/src/dr/evomodel/arg/RecombinationPartitionStatistic.java
index 5676a27..ab5b1fc 100644
--- a/src/dr/evomodel/arg/RecombinationPartitionStatistic.java
+++ b/src/dr/evomodel/arg/RecombinationPartitionStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * RecombinationPartitionStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg;
 
 import dr.evomodel.arg.ARGModel.Node;
diff --git a/src/dr/evomodel/arg/UniformPartitionLikelihood.java b/src/dr/evomodel/arg/UniformPartitionLikelihood.java
index 02bc41c..ead0a69 100644
--- a/src/dr/evomodel/arg/UniformPartitionLikelihood.java
+++ b/src/dr/evomodel/arg/UniformPartitionLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * UniformPartitionLikelihood.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/arg/beast.properties b/src/dr/evomodel/arg/beast.properties
index 2474d2e..683ac61 100644
--- a/src/dr/evomodel/arg/beast.properties
+++ b/src/dr/evomodel/arg/beast.properties
@@ -1,3 +1,28 @@
+#
+# beast.properties
+#
+# Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+#
+# This file is part of BEAST.
+# See the NOTICE file distributed with this work for additional
+# information regarding copyright ownership and licensing.
+#
+# BEAST 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; either version 2
+# of the License, or (at your option) any later version.
+#
+#  BEAST is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with BEAST; if not, write to the
+# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+# Boston, MA  02110-1301  USA
+#
+
 name="Ancestral Recombination Graphs"
 authors="Marc Suchard & Erik Bloomquist"
 description="A system for doing ancestral recombination graphics in BEAST"
diff --git a/src/dr/evomodel/arg/branchratemodel/ARGDiscretizedBranchRates.java b/src/dr/evomodel/arg/branchratemodel/ARGDiscretizedBranchRates.java
index f238959..02907d6 100644
--- a/src/dr/evomodel/arg/branchratemodel/ARGDiscretizedBranchRates.java
+++ b/src/dr/evomodel/arg/branchratemodel/ARGDiscretizedBranchRates.java
@@ -1,7 +1,7 @@
 /*
  * ARGDiscretizedBranchRates.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/arg/coalescent/ARGCoalescentLikelihood.java b/src/dr/evomodel/arg/coalescent/ARGCoalescentLikelihood.java
index 09d1eee..eefd3f6 100644
--- a/src/dr/evomodel/arg/coalescent/ARGCoalescentLikelihood.java
+++ b/src/dr/evomodel/arg/coalescent/ARGCoalescentLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * ARGCoalescentLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg.coalescent;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/arg/coalescent/ARGUniformPrior.java b/src/dr/evomodel/arg/coalescent/ARGUniformPrior.java
index c2d6f51..60a9a6f 100644
--- a/src/dr/evomodel/arg/coalescent/ARGUniformPrior.java
+++ b/src/dr/evomodel/arg/coalescent/ARGUniformPrior.java
@@ -1,3 +1,28 @@
+/*
+ * ARGUniformPrior.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg.coalescent;
 
 
diff --git a/src/dr/evomodel/arg/coalescent/VeryOldCoalescentLikelihood.java b/src/dr/evomodel/arg/coalescent/VeryOldCoalescentLikelihood.java
index 4880dac..7f5462f 100644
--- a/src/dr/evomodel/arg/coalescent/VeryOldCoalescentLikelihood.java
+++ b/src/dr/evomodel/arg/coalescent/VeryOldCoalescentLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * VeryOldCoalescentLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/arg/likelihood/ARGLikelihood.java b/src/dr/evomodel/arg/likelihood/ARGLikelihood.java
index 7588218..d30becc 100644
--- a/src/dr/evomodel/arg/likelihood/ARGLikelihood.java
+++ b/src/dr/evomodel/arg/likelihood/ARGLikelihood.java
@@ -1,4 +1,29 @@
 /*
+ * ARGLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
  * TreeLikelihood.java
  *
  * (c) 2002-2005 BEAST Development Core Team
diff --git a/src/dr/evomodel/arg/likelihood/AbstractARGLikelihood.java b/src/dr/evomodel/arg/likelihood/AbstractARGLikelihood.java
index 9e426c4..23d81bc 100644
--- a/src/dr/evomodel/arg/likelihood/AbstractARGLikelihood.java
+++ b/src/dr/evomodel/arg/likelihood/AbstractARGLikelihood.java
@@ -1,6 +1,31 @@
 /*
  * AbstractARGLikelihood.java
  *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
+ * AbstractARGLikelihood.java
+ *
  * (c) 2002-2005 BEAST Development Core Team
  *
  * This package may be distributed under the
diff --git a/src/dr/evomodel/arg/operators/ARGAddRemoveEventOperator.java b/src/dr/evomodel/arg/operators/ARGAddRemoveEventOperator.java
index 10d5631..221595e 100644
--- a/src/dr/evomodel/arg/operators/ARGAddRemoveEventOperator.java
+++ b/src/dr/evomodel/arg/operators/ARGAddRemoveEventOperator.java
@@ -1,7 +1,7 @@
 /*
  * ARGAddRemoveEventOperator.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/arg/operators/ARGExchangeOperator.java b/src/dr/evomodel/arg/operators/ARGExchangeOperator.java
index cd31819..01e5de2 100644
--- a/src/dr/evomodel/arg/operators/ARGExchangeOperator.java
+++ b/src/dr/evomodel/arg/operators/ARGExchangeOperator.java
@@ -1,3 +1,28 @@
+/*
+ * ARGExchangeOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg.operators;
 
 import dr.evolution.tree.MutableTree;
@@ -12,32 +37,6 @@ import dr.xml.*;
 
 import java.util.ArrayList;
 
-/*
-* ARGExchangeOperator.java
-*
-* Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
-*
-* This file is part of BEAST.
-* See the NOTICE file distributed with this work for additional
-* information regarding copyright ownership and licensing.
-*
-* BEAST 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; either version 2
-* of the License, or (at your option) any later version.
-*
-*  BEAST is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with BEAST; if not, write to the
-* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-* Boston, MA  02110-1301  USA
-*/
-
-
 /**
  * Implements branch exchange operations.
  * There is a NARROW and WIDE variety.
diff --git a/src/dr/evomodel/arg/operators/ARGPartitioningOperator.java b/src/dr/evomodel/arg/operators/ARGPartitioningOperator.java
index 7b9ad35..e141ea7 100644
--- a/src/dr/evomodel/arg/operators/ARGPartitioningOperator.java
+++ b/src/dr/evomodel/arg/operators/ARGPartitioningOperator.java
@@ -1,3 +1,28 @@
+/*
+ * ARGPartitioningOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg.operators;
 
 import dr.evomodel.arg.ARGModel;
diff --git a/src/dr/evomodel/arg/operators/ARGReassortmentOperator.java b/src/dr/evomodel/arg/operators/ARGReassortmentOperator.java
index 4c481df..20bf1a2 100644
--- a/src/dr/evomodel/arg/operators/ARGReassortmentOperator.java
+++ b/src/dr/evomodel/arg/operators/ARGReassortmentOperator.java
@@ -1,3 +1,28 @@
+/*
+ * ARGReassortmentOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg.operators;
 
 import dr.evomodel.arg.ARGModel;
diff --git a/src/dr/evomodel/arg/operators/ARGSubtreeSlideOperator.java b/src/dr/evomodel/arg/operators/ARGSubtreeSlideOperator.java
index ac4c973..b841527 100644
--- a/src/dr/evomodel/arg/operators/ARGSubtreeSlideOperator.java
+++ b/src/dr/evomodel/arg/operators/ARGSubtreeSlideOperator.java
@@ -1,4 +1,29 @@
 /*
+ * ARGSubtreeSlideOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
  * RGSubtreeSlideOperator.java
  *
  * (c) 2002-2005 BEAST Development Core Team
diff --git a/src/dr/evomodel/arg/operators/ARGSwapOperator.java b/src/dr/evomodel/arg/operators/ARGSwapOperator.java
index 67c4588..6a45415 100644
--- a/src/dr/evomodel/arg/operators/ARGSwapOperator.java
+++ b/src/dr/evomodel/arg/operators/ARGSwapOperator.java
@@ -1,3 +1,28 @@
+/*
+ * ARGSwapOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg.operators;
 
 import dr.evolution.tree.MutableTree;
diff --git a/src/dr/evomodel/arg/operators/NonContiguousPartitionsException.java b/src/dr/evomodel/arg/operators/NonContiguousPartitionsException.java
index 603d138..9340bc5 100644
--- a/src/dr/evomodel/arg/operators/NonContiguousPartitionsException.java
+++ b/src/dr/evomodel/arg/operators/NonContiguousPartitionsException.java
@@ -1,3 +1,28 @@
+/*
+ * NonContiguousPartitionsException.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg.operators;
 
 /**
diff --git a/src/dr/evomodel/arg/operators/ObsoleteARGAddRemoveEventOperator.java b/src/dr/evomodel/arg/operators/ObsoleteARGAddRemoveEventOperator.java
index 568e530..9eca3f7 100755
--- a/src/dr/evomodel/arg/operators/ObsoleteARGAddRemoveEventOperator.java
+++ b/src/dr/evomodel/arg/operators/ObsoleteARGAddRemoveEventOperator.java
@@ -1,4 +1,29 @@
 /*
+ * ObsoleteARGAddRemoveEventOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
  * AddRemoveSubtreeOperator.java
  *
  * (c) 2002-2005 BEAST Development Core Team
diff --git a/src/dr/evomodel/arg/operators/ObsoleteARGNewEventOperator.java b/src/dr/evomodel/arg/operators/ObsoleteARGNewEventOperator.java
index 78ecb2c..964c313 100644
--- a/src/dr/evomodel/arg/operators/ObsoleteARGNewEventOperator.java
+++ b/src/dr/evomodel/arg/operators/ObsoleteARGNewEventOperator.java
@@ -1,4 +1,29 @@
 /*
+ * ObsoleteARGNewEventOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
  * AddRemoveSubtreeOperator.java
  *
  * (c) 2002-2005 BEAST Development Core Team
diff --git a/src/dr/evomodel/arg/operators/SlidingPatternsOperator.java b/src/dr/evomodel/arg/operators/SlidingPatternsOperator.java
index ffee851..181c54d 100644
--- a/src/dr/evomodel/arg/operators/SlidingPatternsOperator.java
+++ b/src/dr/evomodel/arg/operators/SlidingPatternsOperator.java
@@ -1,3 +1,28 @@
+/*
+ * SlidingPatternsOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.arg.operators;
 
 import dr.evolution.alignment.SitePatterns;
diff --git a/src/dr/evomodel/branchratemodel/AbstractBranchRateModel.java b/src/dr/evomodel/branchratemodel/AbstractBranchRateModel.java
index b627942..c923335 100644
--- a/src/dr/evomodel/branchratemodel/AbstractBranchRateModel.java
+++ b/src/dr/evomodel/branchratemodel/AbstractBranchRateModel.java
@@ -1,7 +1,7 @@
 /*
- * DiscretizedBranchRates.java
+ * AbstractBranchRateModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/branchratemodel/ArbitraryBranchRates.java b/src/dr/evomodel/branchratemodel/ArbitraryBranchRates.java
index e7636de..9aefecc 100644
--- a/src/dr/evomodel/branchratemodel/ArbitraryBranchRates.java
+++ b/src/dr/evomodel/branchratemodel/ArbitraryBranchRates.java
@@ -1,7 +1,7 @@
 /*
  * ArbitraryBranchRates.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/branchratemodel/AttributeBranchRateModel.java b/src/dr/evomodel/branchratemodel/AttributeBranchRateModel.java
index 63c9dc1..fd8c5f2 100644
--- a/src/dr/evomodel/branchratemodel/AttributeBranchRateModel.java
+++ b/src/dr/evomodel/branchratemodel/AttributeBranchRateModel.java
@@ -1,3 +1,28 @@
+/*
+ * AttributeBranchRateModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.branchratemodel;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/branchratemodel/BranchRateModel.java b/src/dr/evomodel/branchratemodel/BranchRateModel.java
index bbd5fdd..52b148f 100644
--- a/src/dr/evomodel/branchratemodel/BranchRateModel.java
+++ b/src/dr/evomodel/branchratemodel/BranchRateModel.java
@@ -1,7 +1,7 @@
 /*
  * BranchRateModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/branchratemodel/CompoundBranchRateModel.java b/src/dr/evomodel/branchratemodel/CompoundBranchRateModel.java
index f6e6fa5..f63dce9 100644
--- a/src/dr/evomodel/branchratemodel/CompoundBranchRateModel.java
+++ b/src/dr/evomodel/branchratemodel/CompoundBranchRateModel.java
@@ -1,7 +1,7 @@
 /*
  * CompoundBranchRateModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/branchratemodel/ContinuousBranchRates.java b/src/dr/evomodel/branchratemodel/ContinuousBranchRates.java
index 35071ff..875d72b 100644
--- a/src/dr/evomodel/branchratemodel/ContinuousBranchRates.java
+++ b/src/dr/evomodel/branchratemodel/ContinuousBranchRates.java
@@ -1,7 +1,7 @@
 /*
  * ContinuousBranchRates.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/branchratemodel/ContinuousEpochBranchRateModel.java b/src/dr/evomodel/branchratemodel/ContinuousEpochBranchRateModel.java
index b29d75d..044e132 100644
--- a/src/dr/evomodel/branchratemodel/ContinuousEpochBranchRateModel.java
+++ b/src/dr/evomodel/branchratemodel/ContinuousEpochBranchRateModel.java
@@ -1,3 +1,28 @@
+/*
+ * ContinuousEpochBranchRateModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.branchratemodel;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/evomodel/branchratemodel/ContinuousTraitBranchRateModel.java b/src/dr/evomodel/branchratemodel/ContinuousTraitBranchRateModel.java
index 6779933..88a9957 100644
--- a/src/dr/evomodel/branchratemodel/ContinuousTraitBranchRateModel.java
+++ b/src/dr/evomodel/branchratemodel/ContinuousTraitBranchRateModel.java
@@ -1,7 +1,7 @@
 /*
- * TraitBranchRateModel.java
+ * ContinuousTraitBranchRateModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/branchratemodel/CountableBranchCategoryProvider.java b/src/dr/evomodel/branchratemodel/CountableBranchCategoryProvider.java
index 9a98c5e..57c6c7a 100644
--- a/src/dr/evomodel/branchratemodel/CountableBranchCategoryProvider.java
+++ b/src/dr/evomodel/branchratemodel/CountableBranchCategoryProvider.java
@@ -1,7 +1,7 @@
 /*
  * CountableBranchCategoryProvider.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -125,6 +125,12 @@ public interface CountableBranchCategoryProvider extends TreeTrait<Double> {
             categoryCount = count;
             Parameter.DefaultBounds bound = new Parameter.DefaultBounds(categoryCount - 1, 0, categoryParameter.getDimension());
             categoryParameter.addBounds(bound);
+
+            for (int i = 0; i < categoryParameter.getDimension(); ++i) {
+                if (categoryParameter.getParameterValue(i) >= categoryCount) {
+                    categoryParameter.setParameterValue(i, categoryCount - 1);
+                }
+            }
         }
 
         @Override
diff --git a/src/dr/evomodel/branchratemodel/CountableMixtureBranchRates.java b/src/dr/evomodel/branchratemodel/CountableMixtureBranchRates.java
index 4aaaa90..046ce77 100644
--- a/src/dr/evomodel/branchratemodel/CountableMixtureBranchRates.java
+++ b/src/dr/evomodel/branchratemodel/CountableMixtureBranchRates.java
@@ -1,7 +1,7 @@
 /*
  * CountableMixtureBranchRates.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/branchratemodel/CountableModelMixtureBranchRates.java b/src/dr/evomodel/branchratemodel/CountableModelMixtureBranchRates.java
index af7c45a..b2f6c3b 100644
--- a/src/dr/evomodel/branchratemodel/CountableModelMixtureBranchRates.java
+++ b/src/dr/evomodel/branchratemodel/CountableModelMixtureBranchRates.java
@@ -1,7 +1,7 @@
 /*
  * CountableModelMixtureBranchRates.java
  *
- * Copyright (C) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -136,7 +136,8 @@ public class CountableModelMixtureBranchRates extends AbstractBranchRateModel im
                 } else if (object == null) {
                     fireModelChanged(null, index);
                 } else {
-                    throw new IllegalArgumentException("Unknown object component!");
+//                    throw new IllegalArgumentException("Unknown object component!");
+                    fireModelChanged();
                 }
             } else {
                 throw new IllegalArgumentException("Unknown model component!");
@@ -145,11 +146,13 @@ public class CountableModelMixtureBranchRates extends AbstractBranchRateModel im
     }
 
     private AbstractBranchRateModel findModel(Model model) {
-        int index = randomEffectsModels.indexOf(model);
-        if (index != -1) {
-            return randomEffectsModels.get(index);
+        if (randomEffectsModels != null) {
+            int index = randomEffectsModels.indexOf(model);
+            if (index != -1) {
+                return randomEffectsModels.get(index);
+            }
         }
-        index = fixedEffectsModels.indexOf(model);
+        int index = fixedEffectsModels.indexOf(model);
         if (index != -1) {
             return fixedEffectsModels.get(index);
         }
@@ -177,6 +180,7 @@ public class CountableModelMixtureBranchRates extends AbstractBranchRateModel im
         assert !tree.isRoot(node) : "root node doesn't have a rate!";
 
         int rateCategory = rateCategories.getBranchCategory(tree, node);
+
         AbstractBranchRateModel fixedModel = fixedEffectsModels.get(rateCategory);
         double effect = fixedModel.getBranchRate(tree, node);
 
diff --git a/src/dr/evomodel/branchratemodel/DecayingRateModel.java b/src/dr/evomodel/branchratemodel/DecayingRateModel.java
index 2586de9..faede21 100644
--- a/src/dr/evomodel/branchratemodel/DecayingRateModel.java
+++ b/src/dr/evomodel/branchratemodel/DecayingRateModel.java
@@ -1,7 +1,7 @@
 /*
  * DecayingRateModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/branchratemodel/DefaultBranchRateModel.java b/src/dr/evomodel/branchratemodel/DefaultBranchRateModel.java
index 144c7a4..0a2ee31 100644
--- a/src/dr/evomodel/branchratemodel/DefaultBranchRateModel.java
+++ b/src/dr/evomodel/branchratemodel/DefaultBranchRateModel.java
@@ -1,7 +1,7 @@
 /*
  * DefaultBranchRateModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/branchratemodel/DiscreteTraitBranchRateModel.java b/src/dr/evomodel/branchratemodel/DiscreteTraitBranchRateModel.java
index acd2e8b..3206ba6 100644
--- a/src/dr/evomodel/branchratemodel/DiscreteTraitBranchRateModel.java
+++ b/src/dr/evomodel/branchratemodel/DiscreteTraitBranchRateModel.java
@@ -1,7 +1,7 @@
 /*
  * DiscreteTraitBranchRateModel.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut & Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/branchratemodel/DiscretizedBranchRates.java b/src/dr/evomodel/branchratemodel/DiscretizedBranchRates.java
index bf68716..016959f 100644
--- a/src/dr/evomodel/branchratemodel/DiscretizedBranchRates.java
+++ b/src/dr/evomodel/branchratemodel/DiscretizedBranchRates.java
@@ -1,7 +1,7 @@
 /*
  * DiscretizedBranchRates.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/branchratemodel/FixedDriftModel.java b/src/dr/evomodel/branchratemodel/FixedDriftModel.java
index 3b60944..e49f9ae 100644
--- a/src/dr/evomodel/branchratemodel/FixedDriftModel.java
+++ b/src/dr/evomodel/branchratemodel/FixedDriftModel.java
@@ -1,3 +1,28 @@
+/*
+ * FixedDriftModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.branchratemodel;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/branchratemodel/LatentStateBranchRateModel.java b/src/dr/evomodel/branchratemodel/LatentStateBranchRateModel.java
index e6fe91c..72c3ba2 100644
--- a/src/dr/evomodel/branchratemodel/LatentStateBranchRateModel.java
+++ b/src/dr/evomodel/branchratemodel/LatentStateBranchRateModel.java
@@ -1,7 +1,7 @@
 /*
  * LatentStateBranchRateModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/branchratemodel/LocalClockModel.java b/src/dr/evomodel/branchratemodel/LocalClockModel.java
index 64ecade..e7112e1 100644
--- a/src/dr/evomodel/branchratemodel/LocalClockModel.java
+++ b/src/dr/evomodel/branchratemodel/LocalClockModel.java
@@ -1,7 +1,7 @@
 /*
  * LocalClockModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/branchratemodel/MixtureModelBranchRates.java b/src/dr/evomodel/branchratemodel/MixtureModelBranchRates.java
index ca966e4..23ddff0 100644
--- a/src/dr/evomodel/branchratemodel/MixtureModelBranchRates.java
+++ b/src/dr/evomodel/branchratemodel/MixtureModelBranchRates.java
@@ -1,3 +1,28 @@
+/*
+ * MixtureModelBranchRates.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.branchratemodel;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/branchratemodel/PassageBranchRateModel.java b/src/dr/evomodel/branchratemodel/PassageBranchRateModel.java
index 0f88ead..77a126a 100644
--- a/src/dr/evomodel/branchratemodel/PassageBranchRateModel.java
+++ b/src/dr/evomodel/branchratemodel/PassageBranchRateModel.java
@@ -1,7 +1,7 @@
 /*
- * TipBranchRateModel.java
+ * PassageBranchRateModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/branchratemodel/RandomLocalClockModel.java b/src/dr/evomodel/branchratemodel/RandomLocalClockModel.java
index f0a135c..3270b4a 100644
--- a/src/dr/evomodel/branchratemodel/RandomLocalClockModel.java
+++ b/src/dr/evomodel/branchratemodel/RandomLocalClockModel.java
@@ -1,7 +1,7 @@
 /*
  * RandomLocalClockModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/branchratemodel/RateEpochBranchRateModel.java b/src/dr/evomodel/branchratemodel/RateEpochBranchRateModel.java
index f5f0d03..4d2d823 100644
--- a/src/dr/evomodel/branchratemodel/RateEpochBranchRateModel.java
+++ b/src/dr/evomodel/branchratemodel/RateEpochBranchRateModel.java
@@ -1,7 +1,7 @@
 /*
  * RateEpochBranchRateModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/branchratemodel/RelaxedDriftModel.java b/src/dr/evomodel/branchratemodel/RelaxedDriftModel.java
index 36c4f4a..24451d6 100644
--- a/src/dr/evomodel/branchratemodel/RelaxedDriftModel.java
+++ b/src/dr/evomodel/branchratemodel/RelaxedDriftModel.java
@@ -1,3 +1,28 @@
+/*
+ * RelaxedDriftModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.branchratemodel;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/branchratemodel/ScaledTreeLengthRateModel.java b/src/dr/evomodel/branchratemodel/ScaledTreeLengthRateModel.java
index 805e18e..52c5845 100644
--- a/src/dr/evomodel/branchratemodel/ScaledTreeLengthRateModel.java
+++ b/src/dr/evomodel/branchratemodel/ScaledTreeLengthRateModel.java
@@ -1,7 +1,7 @@
 /*
  * ScaledTreeLengthRateModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/branchratemodel/SericolaLatentStateBranchRateModel.java b/src/dr/evomodel/branchratemodel/SericolaLatentStateBranchRateModel.java
index 860fd7f..b8c42ef 100644
--- a/src/dr/evomodel/branchratemodel/SericolaLatentStateBranchRateModel.java
+++ b/src/dr/evomodel/branchratemodel/SericolaLatentStateBranchRateModel.java
@@ -1,7 +1,7 @@
 /*
  * SericolaLatentStateBranchRateModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/branchratemodel/StrictClockBranchRates.java b/src/dr/evomodel/branchratemodel/StrictClockBranchRates.java
index 239826e..1ca1e02 100644
--- a/src/dr/evomodel/branchratemodel/StrictClockBranchRates.java
+++ b/src/dr/evomodel/branchratemodel/StrictClockBranchRates.java
@@ -1,7 +1,7 @@
 /*
  * StrictClockBranchRates.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/branchratemodel/TipBranchRateModel.java b/src/dr/evomodel/branchratemodel/TipBranchRateModel.java
index 8985697..8f3c700 100644
--- a/src/dr/evomodel/branchratemodel/TipBranchRateModel.java
+++ b/src/dr/evomodel/branchratemodel/TipBranchRateModel.java
@@ -1,7 +1,7 @@
 /*
  * TipBranchRateModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/clock/ACLikelihood.java b/src/dr/evomodel/clock/ACLikelihood.java
index 3ddec47..354dba6 100644
--- a/src/dr/evomodel/clock/ACLikelihood.java
+++ b/src/dr/evomodel/clock/ACLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * ACLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.clock;
 
 import dr.evomodel.tree.TreeModel;
diff --git a/src/dr/evomodel/clock/RateEvolutionLikelihood.java b/src/dr/evomodel/clock/RateEvolutionLikelihood.java
index ad60775..e04e098 100644
--- a/src/dr/evomodel/clock/RateEvolutionLikelihood.java
+++ b/src/dr/evomodel/clock/RateEvolutionLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * RateEvolutionLikelihood.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/clock/UCLikelihood.java b/src/dr/evomodel/clock/UCLikelihood.java
index ddd35e4..3de6725 100644
--- a/src/dr/evomodel/clock/UCLikelihood.java
+++ b/src/dr/evomodel/clock/UCLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * UCLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.clock;
 
 import dr.evomodel.tree.TreeModel;
diff --git a/src/dr/evomodel/clock/UniversalClock.java b/src/dr/evomodel/clock/UniversalClock.java
index 8cf6dec..a7f6992 100644
--- a/src/dr/evomodel/clock/UniversalClock.java
+++ b/src/dr/evomodel/clock/UniversalClock.java
@@ -1,7 +1,7 @@
 /*
  * UniversalClock.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/AbstractCoalescentLikelihood.java b/src/dr/evomodel/coalescent/AbstractCoalescentLikelihood.java
index 0f9ee11..5a476f8 100644
--- a/src/dr/evomodel/coalescent/AbstractCoalescentLikelihood.java
+++ b/src/dr/evomodel/coalescent/AbstractCoalescentLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * AbstractCoalescentLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/AsymptoticGrowthModel.java b/src/dr/evomodel/coalescent/AsymptoticGrowthModel.java
new file mode 100644
index 0000000..7522ee4
--- /dev/null
+++ b/src/dr/evomodel/coalescent/AsymptoticGrowthModel.java
@@ -0,0 +1,105 @@
+/*
+ * AsymptoticGrowthModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.evomodel.coalescent;
+
+import dr.evolution.coalescent.DemographicFunction;
+import dr.evolution.coalescent.FlexibleGrowth;
+import dr.evomodelxml.coalescent.AsymptoticGrowthModelParser;
+import dr.evomodelxml.coalescent.LogisticGrowthModelParser;
+import dr.inference.model.Parameter;
+
+/**
+ * Growth starts at zero at time zero, peaks and declines
+ *
+ */
+public class AsymptoticGrowthModel extends DemographicModel {
+
+    //
+    // Public stuff
+    //
+
+    /**
+     * Construct demographic model with default settings
+     */
+    public AsymptoticGrowthModel(Parameter asymptoteValueParameter, Parameter shapeParameter, Type units) {
+
+        this(AsymptoticGrowthModelParser.ASYMPTOTIC_GROWTH_MODEL, asymptoteValueParameter, shapeParameter, units);
+    }
+
+    /**
+     * Construct demographic model with default settings
+     */
+    public AsymptoticGrowthModel(String name, Parameter asymptoteValueParameter, Parameter shapeParameter,
+                                 Type units) {
+
+        super(name);
+
+        flexibleGrowth = new FlexibleGrowth(units);
+
+        this.asyptoteValue = asymptoteValueParameter;
+        addVariable(asymptoteValueParameter);
+        asymptoteValueParameter.addBounds(new Parameter.DefaultBounds(Double.POSITIVE_INFINITY, 0.0, 1));
+
+
+        this.shapeParameter = shapeParameter;
+        addVariable(shapeParameter);
+        shapeParameter.addBounds(new Parameter.DefaultBounds(Double.POSITIVE_INFINITY, 0, 1));
+
+
+        setUnits(units);
+    }
+
+
+    // general functions
+
+    public DemographicFunction getDemographicFunction() {
+
+        double asymptoteValue = asyptoteValue.getParameterValue(0);
+        double shapeValue = shapeParameter.getParameterValue(0);
+
+
+
+        double flexibleN0 = asymptoteValue/shapeValue;
+
+
+        flexibleGrowth.setN0(flexibleN0);
+        flexibleGrowth.setK(shapeValue);
+        flexibleGrowth.setR(0);
+
+
+
+        return flexibleGrowth;
+    }
+
+    //
+    // protected stuff
+    //
+
+    Parameter asyptoteValue = null;
+    Parameter shapeParameter = null;
+    FlexibleGrowth flexibleGrowth = null;
+
+}
diff --git a/src/dr/evomodel/coalescent/BMPriorLikelihood.java b/src/dr/evomodel/coalescent/BMPriorLikelihood.java
index 56d66e4..553e2c3 100644
--- a/src/dr/evomodel/coalescent/BMPriorLikelihood.java
+++ b/src/dr/evomodel/coalescent/BMPriorLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * BMPriorLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.evomodelxml.coalescent.BMPriorLikelihoodParser;
diff --git a/src/dr/evomodel/coalescent/BayesianSkylineLikelihood.java b/src/dr/evomodel/coalescent/BayesianSkylineLikelihood.java
index 5c2cf98..1c6bd33 100644
--- a/src/dr/evomodel/coalescent/BayesianSkylineLikelihood.java
+++ b/src/dr/evomodel/coalescent/BayesianSkylineLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * BayesianSkylineLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/BayesianSkylinePopSizeStatistic.java b/src/dr/evomodel/coalescent/BayesianSkylinePopSizeStatistic.java
index 384e08e..857d7a0 100644
--- a/src/dr/evomodel/coalescent/BayesianSkylinePopSizeStatistic.java
+++ b/src/dr/evomodel/coalescent/BayesianSkylinePopSizeStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * BayesianSkylinePopSizeStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.inference.model.Statistic;
diff --git a/src/dr/evomodel/coalescent/CataclysmicDemographicModel.java b/src/dr/evomodel/coalescent/CataclysmicDemographicModel.java
index 50027b6..b7a6c4d 100644
--- a/src/dr/evomodel/coalescent/CataclysmicDemographicModel.java
+++ b/src/dr/evomodel/coalescent/CataclysmicDemographicModel.java
@@ -1,7 +1,7 @@
 /*
  * CataclysmicDemographicModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/CoalescentConstantLikelihood.java b/src/dr/evomodel/coalescent/CoalescentConstantLikelihood.java
index 4955931..d47cdb4 100644
--- a/src/dr/evomodel/coalescent/CoalescentConstantLikelihood.java
+++ b/src/dr/evomodel/coalescent/CoalescentConstantLikelihood.java
@@ -1,7 +1,7 @@
 /*
- * PriorParsers.java
+ * CoalescentConstantLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/CoalescentEventsStatistic.java b/src/dr/evomodel/coalescent/CoalescentEventsStatistic.java
index c04b2b4..4376630 100644
--- a/src/dr/evomodel/coalescent/CoalescentEventsStatistic.java
+++ b/src/dr/evomodel/coalescent/CoalescentEventsStatistic.java
@@ -1,7 +1,7 @@
 /*
- * CoalescentIntervalStatistic.java
+ * CoalescentEventsStatistic.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -26,35 +26,48 @@
 package dr.evomodel.coalescent;
 
 import dr.evolution.coalescent.IntervalType;
-import dr.evomodel.tree.TreeModel;
 import dr.inference.model.Statistic;
 
 /**
-* @author Guy Baele
-*/
+ * @author Guy Baele
+ */
 public class CoalescentEventsStatistic extends Statistic.Abstract {
 
-	private static final boolean FULL_FINAL_INTERVAL = true;
-	private static final boolean LOG_COMBINATIONS = true;
-	private static final boolean RETURN_RECIPROCAL = false;
-	
+    public static final boolean DEBUG = true;
+
+    private static final boolean FULL_FINAL_INTERVAL = true;
+    private static final boolean LOG_COMBINATIONS = true;
+    private static final boolean RETURN_RECIPROCAL = false;
+
     private final CoalescentIntervalProvider coalescent;
     //treeModel currently only required for debugging purposes
-    private TreeModel treeModel;
+    //private TreeModel treeModel;
     private int coalescentEvents;
     private double[] coalescentValues;
-    
-    public CoalescentEventsStatistic(CoalescentIntervalProvider coalescent, TreeModel treeModel) {
+
+    //public CoalescentEventsStatistic(CoalescentIntervalProvider coalescent, TreeModel treeModel) {
+    public CoalescentEventsStatistic(CoalescentIntervalProvider coalescent) {
         this.coalescent = coalescent;
-        this.treeModel = treeModel;
+        //this.treeModel = treeModel;
         this.coalescentEvents = 0;
-        for (int i = 0; i < coalescent.getCoalescentIntervalDimension(); i++) {
-    		if (coalescent.getCoalescentIntervalType(i) == IntervalType.COALESCENT) {
-    			coalescentEvents++;
-    		}
-    	}
+        if (DEBUG) {
+            System.err.println("CoalescentIntervalDimension: " + coalescent.getCoalescentIntervalDimension());
+        }
+        if (coalescent instanceof GMRFSkyrideLikelihood) {
+            this.coalescentEvents = coalescent.getCoalescentIntervalDimension();
+        } else {
+            for (int i = 0; i < coalescent.getCoalescentIntervalDimension(); i++) {
+                //Not yet implemented for the skygrid model
+                if (coalescent.getCoalescentIntervalType(i) == IntervalType.COALESCENT) {
+                    coalescentEvents++;
+                }
+            }
+        }
         //System.err.println("Number of coalescent events: " + this.coalescentEvents);
         this.coalescentValues = new double[coalescentEvents];
+        if (DEBUG) {
+            System.err.println("CoalescentEventsStatistic constructor: " + this.coalescentEvents);
+        }
     }
 
     public int getDimension() {
@@ -62,72 +75,76 @@ public class CoalescentEventsStatistic extends Statistic.Abstract {
     }
 
     public double getStatisticValue(int i) {
-    	//System.err.println(treeModel);
-    	//i will go from 0 to getDimension()
-    	if (i == 0) {
-    		//reset array of coalescent events
-    		for (int j = 0; j < coalescentValues.length; j++) {
-    			coalescentValues[j] = 0.0;
-    		}
-    		//recalculate everything
-    		int counter = 0;
-    		for (int j = 0; j < coalescent.getCoalescentIntervalDimension(); j++) {
-    			//System.err.println(coalescent.getCoalescentIntervalType(j) + "   " + coalescent.getCoalescentInterval(j));
-    			if (coalescent.getCoalescentIntervalType(j) == IntervalType.COALESCENT) {
-    				if (LOG_COMBINATIONS) {
-    					this.coalescentValues[counter] += coalescent.getCoalescentInterval(j)*(coalescent.getCoalescentIntervalLineageCount(j)*(coalescent.getCoalescentIntervalLineageCount(j)-1.0))/2.0;
-    					//System.err.println("interval length: " + coalescent.getCoalescentInterval(j));
-    					//System.err.println("lineage count: " + coalescent.getCoalescentIntervalLineageCount(j));
-    					//System.err.println("factorial: " + (coalescent.getCoalescentIntervalLineageCount(j)*coalescent.getCoalescentIntervalLineageCount(j)-1.0)/2.0);
-    					//System.err.println("counter " + counter + ": " + this.coalescentValues[counter] + "\n");
-    					//this.coalescentValues[counter] += coalescent.getCoalescentInterval(j);
-    					//this.coalescentValues[counter] = (coalescent.getCoalescentIntervalLineageCount(j)*coalescent.getCoalescentIntervalLineageCount(j)-1.0)/(2.0*this.coalescentValues[counter]);
-    				} else {
-    					this.coalescentValues[counter] += coalescent.getCoalescentInterval(j);
-    				}
-    				counter++;
-    			} else if (!FULL_FINAL_INTERVAL) {
-    				if (coalescent.getCoalescentIntervalType(j) == IntervalType.SAMPLE && counter != 0) {
-    					if (LOG_COMBINATIONS) {
-    						this.coalescentValues[counter] += coalescent.getCoalescentInterval(j)*(coalescent.getCoalescentIntervalLineageCount(j)*(coalescent.getCoalescentIntervalLineageCount(j)-1.0))/2.0;
-    						//System.err.println("interval length: " + coalescent.getCoalescentInterval(j));
-        					//System.err.println("lineage count: " + coalescent.getCoalescentIntervalLineageCount(j));
-        					//System.err.println("factorial: " + (coalescent.getCoalescentIntervalLineageCount(j)*coalescent.getCoalescentIntervalLineageCount(j)-1.0)/2.0);
-        					//System.err.println("counter " + counter + ": " + this.coalescentValues[counter] + "\n");
-    						//this.coalescentValues[counter] += coalescent.getCoalescentInterval(j);
-    					} else {
-    						this.coalescentValues[counter] += coalescent.getCoalescentInterval(j);
-    					}
-        			}
-    			} else {
-    				if (coalescent.getCoalescentIntervalType(j) == IntervalType.SAMPLE) {
-    					if (LOG_COMBINATIONS) {
-    						//System.err.println("interval length: " + coalescent.getCoalescentInterval(j));
-        					//System.err.println("lineage count: " + coalescent.getCoalescentIntervalLineageCount(j));
-        					//System.err.println("factorial: " + (coalescent.getCoalescentIntervalLineageCount(j)*coalescent.getCoalescentIntervalLineageCount(j)-1.0)/2.0);
-        					//System.err.println("counter " + counter + ": " + this.coalescentValues[counter] + "\n");
-    						this.coalescentValues[counter] += coalescent.getCoalescentInterval(j)*(coalescent.getCoalescentIntervalLineageCount(j)*(coalescent.getCoalescentIntervalLineageCount(j)-1.0))/2.0;
-        					//this.coalescentValues[counter] += coalescent.getCoalescentInterval(j);
-    					} else {
-    						this.coalescentValues[counter] += coalescent.getCoalescentInterval(j);
-    					}
-        			}
-    			}
-    		}
-    	}
+        //System.err.println(treeModel);
+        //i will go from 0 to getDimension()
+        if (i == 0) {
+            //reset array of coalescent events
+            for (int j = 0; j < coalescentValues.length; j++) {
+                coalescentValues[j] = 0.0;
+            }
+            //recalculate everything
+            int counter = 0;
+            for (int j = 0; j < coalescent.getCoalescentIntervalDimension(); j++) {
+                if (coalescent instanceof GMRFSkyrideLikelihood) {
+                    this.coalescentValues[counter] = ((GMRFSkyrideLikelihood)coalescent).getSufficientStatistics()[j];
+                } else {
+                    //System.err.println(coalescent.getCoalescentIntervalType(j) + "   " + coalescent.getCoalescentInterval(j));
+                    if (coalescent.getCoalescentIntervalType(j) == IntervalType.COALESCENT) {
+                        if (LOG_COMBINATIONS) {
+                            this.coalescentValues[counter] += coalescent.getCoalescentInterval(j)*(coalescent.getCoalescentIntervalLineageCount(j)*(coalescent.getCoalescentIntervalLineageCount(j)-1.0))/2.0;
+                            //System.err.println("interval length: " + coalescent.getCoalescentInterval(j));
+                            //System.err.println("lineage count: " + coalescent.getCoalescentIntervalLineageCount(j));
+                            //System.err.println("factorial: " + (coalescent.getCoalescentIntervalLineageCount(j)*coalescent.getCoalescentIntervalLineageCount(j)-1.0)/2.0);
+                            //System.err.println("counter " + counter + ": " + this.coalescentValues[counter] + "\n");
+                            //this.coalescentValues[counter] += coalescent.getCoalescentInterval(j);
+                            //this.coalescentValues[counter] = (coalescent.getCoalescentIntervalLineageCount(j)*coalescent.getCoalescentIntervalLineageCount(j)-1.0)/(2.0*this.coalescentValues[counter]);
+                        } else {
+                            this.coalescentValues[counter] += coalescent.getCoalescentInterval(j);
+                        }
+                        counter++;
+                    } else if (!FULL_FINAL_INTERVAL) {
+                        if (coalescent.getCoalescentIntervalType(j) == IntervalType.SAMPLE && counter != 0) {
+                            if (LOG_COMBINATIONS) {
+                                this.coalescentValues[counter] += coalescent.getCoalescentInterval(j)*(coalescent.getCoalescentIntervalLineageCount(j)*(coalescent.getCoalescentIntervalLineageCount(j)-1.0))/2.0;
+                                //System.err.println("interval length: " + coalescent.getCoalescentInterval(j));
+                                //System.err.println("lineage count: " + coalescent.getCoalescentIntervalLineageCount(j));
+                                //System.err.println("factorial: " + (coalescent.getCoalescentIntervalLineageCount(j)*coalescent.getCoalescentIntervalLineageCount(j)-1.0)/2.0);
+                                //System.err.println("counter " + counter + ": " + this.coalescentValues[counter] + "\n");
+                                //this.coalescentValues[counter] += coalescent.getCoalescentInterval(j);
+                            } else {
+                                this.coalescentValues[counter] += coalescent.getCoalescentInterval(j);
+                            }
+                        }
+                    } else {
+                        if (coalescent.getCoalescentIntervalType(j) == IntervalType.SAMPLE) {
+                            if (LOG_COMBINATIONS) {
+                                //System.err.println("interval length: " + coalescent.getCoalescentInterval(j));
+                                //System.err.println("lineage count: " + coalescent.getCoalescentIntervalLineageCount(j));
+                                //System.err.println("factorial: " + (coalescent.getCoalescentIntervalLineageCount(j)*coalescent.getCoalescentIntervalLineageCount(j)-1.0)/2.0);
+                                //System.err.println("counter " + counter + ": " + this.coalescentValues[counter] + "\n");
+                                this.coalescentValues[counter] += coalescent.getCoalescentInterval(j)*(coalescent.getCoalescentIntervalLineageCount(j)*(coalescent.getCoalescentIntervalLineageCount(j)-1.0))/2.0;
+                                //this.coalescentValues[counter] += coalescent.getCoalescentInterval(j);
+                            } else {
+                                this.coalescentValues[counter] += coalescent.getCoalescentInterval(j);
+                            }
+                        }
+                    }
+                }
+            }
+        }
     	/*for (int j = 0; j < this.coalescentEvents; j++) {
     		System.err.println(this.coalescentValues[j]);
     	}
      	System.exit(0);*/
-    	if (RETURN_RECIPROCAL) {
-    		return 1.0/this.coalescentValues[i];
-    	} else {
-    		return this.coalescentValues[i];
-    	}
+        if (RETURN_RECIPROCAL) {
+            return 1.0/this.coalescentValues[i];
+        } else {
+            return this.coalescentValues[i];
+        }
     }
-    
+
     public String getStatisticName() {
-    	return "coalescentEventsStatistic";
+        return "coalescentEventsStatistic";
     }
-    
+
 }
diff --git a/src/dr/evomodel/coalescent/CoalescentIntervalProvider.java b/src/dr/evomodel/coalescent/CoalescentIntervalProvider.java
index 0914f2f..4de2a8e 100644
--- a/src/dr/evomodel/coalescent/CoalescentIntervalProvider.java
+++ b/src/dr/evomodel/coalescent/CoalescentIntervalProvider.java
@@ -1,7 +1,7 @@
 /*
  * CoalescentIntervalProvider.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/CoalescentIntervalStatistic.java b/src/dr/evomodel/coalescent/CoalescentIntervalStatistic.java
index 27900f9..bd9e661 100644
--- a/src/dr/evomodel/coalescent/CoalescentIntervalStatistic.java
+++ b/src/dr/evomodel/coalescent/CoalescentIntervalStatistic.java
@@ -1,7 +1,7 @@
 /*
  * CoalescentIntervalStatistic.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/CoalescentLikelihood.java b/src/dr/evomodel/coalescent/CoalescentLikelihood.java
index 7dd78c9..ed2b1b6 100644
--- a/src/dr/evomodel/coalescent/CoalescentLikelihood.java
+++ b/src/dr/evomodel/coalescent/CoalescentLikelihood.java
@@ -1,7 +1,7 @@
 /*
- * NewCoalescentLikelihood.java
+ * CoalescentLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/CoalescentSimulator.java b/src/dr/evomodel/coalescent/CoalescentSimulator.java
index 08dd616..06b16e9 100644
--- a/src/dr/evomodel/coalescent/CoalescentSimulator.java
+++ b/src/dr/evomodel/coalescent/CoalescentSimulator.java
@@ -1,7 +1,7 @@
 /*
  * CoalescentSimulator.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/CoalescentTreeIntervalStatistic.java b/src/dr/evomodel/coalescent/CoalescentTreeIntervalStatistic.java
index 925de71..a4ebc0d 100644
--- a/src/dr/evomodel/coalescent/CoalescentTreeIntervalStatistic.java
+++ b/src/dr/evomodel/coalescent/CoalescentTreeIntervalStatistic.java
@@ -1,7 +1,7 @@
 /*
  * CoalescentTreeIntervalStatistic.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/ConstExpConstModel.java b/src/dr/evomodel/coalescent/ConstExpConstModel.java
index 0b15187..e40f52b 100644
--- a/src/dr/evomodel/coalescent/ConstExpConstModel.java
+++ b/src/dr/evomodel/coalescent/ConstExpConstModel.java
@@ -1,7 +1,7 @@
 /*
  * ConstExpConstModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/ConstantExponentialModel.java b/src/dr/evomodel/coalescent/ConstantExponentialModel.java
index 4db9527..d9216a7 100644
--- a/src/dr/evomodel/coalescent/ConstantExponentialModel.java
+++ b/src/dr/evomodel/coalescent/ConstantExponentialModel.java
@@ -1,7 +1,7 @@
 /*
  * ConstantExponentialModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/ConstantLogisticModel.java b/src/dr/evomodel/coalescent/ConstantLogisticModel.java
index b23cc5e..a08505a 100644
--- a/src/dr/evomodel/coalescent/ConstantLogisticModel.java
+++ b/src/dr/evomodel/coalescent/ConstantLogisticModel.java
@@ -1,7 +1,7 @@
 /*
  * ConstantLogisticModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/ConstantPopulationModel.java b/src/dr/evomodel/coalescent/ConstantPopulationModel.java
index 7bafe8c..593565f 100644
--- a/src/dr/evomodel/coalescent/ConstantPopulationModel.java
+++ b/src/dr/evomodel/coalescent/ConstantPopulationModel.java
@@ -1,7 +1,7 @@
 /*
  * ConstantPopulationModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/CovariateGMRFSkylineLikelihood.java b/src/dr/evomodel/coalescent/CovariateGMRFSkylineLikelihood.java
index ef00bec..1542aba 100644
--- a/src/dr/evomodel/coalescent/CovariateGMRFSkylineLikelihood.java
+++ b/src/dr/evomodel/coalescent/CovariateGMRFSkylineLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * CovariateGMRFSkylineLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/coalescent/DemographicModel.java b/src/dr/evomodel/coalescent/DemographicModel.java
index 3b2ea51..8e1adaf 100644
--- a/src/dr/evomodel/coalescent/DemographicModel.java
+++ b/src/dr/evomodel/coalescent/DemographicModel.java
@@ -1,7 +1,7 @@
 /*
  * DemographicModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/EBSPAnalysis.java b/src/dr/evomodel/coalescent/EBSPAnalysis.java
index 800d0a3..323e833 100644
--- a/src/dr/evomodel/coalescent/EBSPAnalysis.java
+++ b/src/dr/evomodel/coalescent/EBSPAnalysis.java
@@ -1,3 +1,28 @@
+/*
+ * EBSPAnalysis.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.evolution.io.Importer;
diff --git a/src/dr/evomodel/coalescent/EmergingEpidemicModel.java b/src/dr/evomodel/coalescent/EmergingEpidemicModel.java
index 3a5049e..f787736 100644
--- a/src/dr/evomodel/coalescent/EmergingEpidemicModel.java
+++ b/src/dr/evomodel/coalescent/EmergingEpidemicModel.java
@@ -1,7 +1,7 @@
 /*
- * ExponentialGrowthModel.java
+ * EmergingEpidemicModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/EmpiricalPiecewiseModel.java b/src/dr/evomodel/coalescent/EmpiricalPiecewiseModel.java
index e764423..abc94b5 100644
--- a/src/dr/evomodel/coalescent/EmpiricalPiecewiseModel.java
+++ b/src/dr/evomodel/coalescent/EmpiricalPiecewiseModel.java
@@ -1,7 +1,7 @@
 /*
  * EmpiricalPiecewiseModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/ExpConstExpDemographicModel.java b/src/dr/evomodel/coalescent/ExpConstExpDemographicModel.java
index c7f1099..5fc27f4 100644
--- a/src/dr/evomodel/coalescent/ExpConstExpDemographicModel.java
+++ b/src/dr/evomodel/coalescent/ExpConstExpDemographicModel.java
@@ -1,7 +1,7 @@
 /*
  * ExpConstExpDemographicModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/ExpansionModel.java b/src/dr/evomodel/coalescent/ExpansionModel.java
index 3670585..9cc7d62 100644
--- a/src/dr/evomodel/coalescent/ExpansionModel.java
+++ b/src/dr/evomodel/coalescent/ExpansionModel.java
@@ -1,7 +1,7 @@
 /*
  * ExpansionModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/ExponentialConstantModel.java b/src/dr/evomodel/coalescent/ExponentialConstantModel.java
index 36de2d5..4d01bc5 100644
--- a/src/dr/evomodel/coalescent/ExponentialConstantModel.java
+++ b/src/dr/evomodel/coalescent/ExponentialConstantModel.java
@@ -1,7 +1,7 @@
 /*
- * ExponentialLogisticModel.java
+ * ExponentialConstantModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/ExponentialExponentialModel.java b/src/dr/evomodel/coalescent/ExponentialExponentialModel.java
index 45c2179..707477e 100644
--- a/src/dr/evomodel/coalescent/ExponentialExponentialModel.java
+++ b/src/dr/evomodel/coalescent/ExponentialExponentialModel.java
@@ -1,7 +1,7 @@
 /*
- * ExponentialLogisticModel.java
+ * ExponentialExponentialModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/ExponentialGrowthModel.java b/src/dr/evomodel/coalescent/ExponentialGrowthModel.java
index 5571888..45dd905 100644
--- a/src/dr/evomodel/coalescent/ExponentialGrowthModel.java
+++ b/src/dr/evomodel/coalescent/ExponentialGrowthModel.java
@@ -1,7 +1,7 @@
 /*
  * ExponentialGrowthModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/ExponentialLogisticModel.java b/src/dr/evomodel/coalescent/ExponentialLogisticModel.java
index c7f83a4..28fa9da 100644
--- a/src/dr/evomodel/coalescent/ExponentialLogisticModel.java
+++ b/src/dr/evomodel/coalescent/ExponentialLogisticModel.java
@@ -1,7 +1,7 @@
 /*
  * ExponentialLogisticModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/ExponentialProductLikelihood.java b/src/dr/evomodel/coalescent/ExponentialProductLikelihood.java
index d030f23..18061fc 100644
--- a/src/dr/evomodel/coalescent/ExponentialProductLikelihood.java
+++ b/src/dr/evomodel/coalescent/ExponentialProductLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * ExponentialProductLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.evomodel.tree.TreeModel;
diff --git a/src/dr/evomodel/coalescent/ExponentialProductPosteriorMeansLikelihood.java b/src/dr/evomodel/coalescent/ExponentialProductPosteriorMeansLikelihood.java
index b9154a5..3b018f5 100644
--- a/src/dr/evomodel/coalescent/ExponentialProductPosteriorMeansLikelihood.java
+++ b/src/dr/evomodel/coalescent/ExponentialProductPosteriorMeansLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * ExponentialProductPosteriorMeansLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.evomodel.tree.TreeModel;
@@ -13,6 +38,7 @@ public class ExponentialProductPosteriorMeansLikelihood extends Likelihood.Abstr
 	
 	//not used at the moment
 	public final static boolean FIXED_TREE = false;
+    public static final boolean DEBUG = true;
 	
 	private TreeModel treeModel;
 	private double[] posteriorMeans;
@@ -34,6 +60,10 @@ public class ExponentialProductPosteriorMeansLikelihood extends Likelihood.Abstr
 		
 		CoalescentTreeIntervalStatistic ctis = new CoalescentTreeIntervalStatistic(treeModel);
 		int coalescentIntervalCounter = 0;
+
+        if (DEBUG) {
+            System.err.println("ExponentialProductPosteriorMeansLikelihood dimension: " + ctis.getDimension());
+        }
 		
 		for (int i = 0; i < ctis.getDimension(); i++) {
 			
@@ -54,20 +84,29 @@ public class ExponentialProductPosteriorMeansLikelihood extends Likelihood.Abstr
 					//coalescent event at root: exponential density
 					//System.err.print("coalescent event at root: ");
 					double logContribution = -posteriorMeans[coalescentIntervalCounter] - combinations*branchLength*Math.exp(-posteriorMeans[coalescentIntervalCounter]);
-					logPDF += logContribution;
+					if (DEBUG) {
+                        System.err.println(i + ": " + logContribution);
+                    }
+                    logPDF += logContribution;
 					//System.err.println(logContribution);
 				} else if (ctis.getLineageCount(i) > ctis.getLineageCount(i+1)) {
 					//coalescent event: exponential density
 					//System.err.print("coalescent event (not at root): ");
 					double logContribution = -posteriorMeans[coalescentIntervalCounter] - combinations*branchLength*Math.exp(-posteriorMeans[coalescentIntervalCounter]);
-					logPDF += logContribution;
+                    if (DEBUG) {
+                        System.err.println(i + ": " + logContribution);
+                    }
+                    logPDF += logContribution;
 					//System.err.println(logContribution);
 					coalescentIntervalCounter++;
 				} else {
 					//sampling event: exponential tail probability
 					//System.err.print("sampling event: ");
 					double logContribution = -combinations*branchLength*Math.exp(-posteriorMeans[coalescentIntervalCounter]);
-					logPDF += logContribution;
+                    if (DEBUG) {
+                        System.err.println(i + ": " + logContribution);
+                    }
+                    logPDF += logContribution;
 					//System.err.println(logContribution);
 				}
 				
diff --git a/src/dr/evomodel/coalescent/ExponentialProductSufficientStatisticsLikelihood.java b/src/dr/evomodel/coalescent/ExponentialProductSufficientStatisticsLikelihood.java
index ed28536..434a90d 100644
--- a/src/dr/evomodel/coalescent/ExponentialProductSufficientStatisticsLikelihood.java
+++ b/src/dr/evomodel/coalescent/ExponentialProductSufficientStatisticsLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * ExponentialProductSufficientStatisticsLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import java.util.List;
diff --git a/src/dr/evomodel/coalescent/ExponentialSawtoothModel.java b/src/dr/evomodel/coalescent/ExponentialSawtoothModel.java
index ed4d4c1..3913c14 100644
--- a/src/dr/evomodel/coalescent/ExponentialSawtoothModel.java
+++ b/src/dr/evomodel/coalescent/ExponentialSawtoothModel.java
@@ -1,7 +1,7 @@
 /*
  * ExponentialSawtoothModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/ExponentialSkythingLikelihood.java b/src/dr/evomodel/coalescent/ExponentialSkythingLikelihood.java
index f428819..780b04d 100644
--- a/src/dr/evomodel/coalescent/ExponentialSkythingLikelihood.java
+++ b/src/dr/evomodel/coalescent/ExponentialSkythingLikelihood.java
@@ -1,7 +1,7 @@
 /*
- * BayesianSkylineLikelihood.java
+ * ExponentialSkythingLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/GMRFBivariateCurveAnalysis.java b/src/dr/evomodel/coalescent/GMRFBivariateCurveAnalysis.java
index 16c0a06..3300532 100644
--- a/src/dr/evomodel/coalescent/GMRFBivariateCurveAnalysis.java
+++ b/src/dr/evomodel/coalescent/GMRFBivariateCurveAnalysis.java
@@ -1,3 +1,28 @@
+/*
+ * GMRFBivariateCurveAnalysis.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.inference.trace.LogFileTraces;
diff --git a/src/dr/evomodel/coalescent/GMRFDensityComponent.java b/src/dr/evomodel/coalescent/GMRFDensityComponent.java
index 8c2010e..85e3872 100644
--- a/src/dr/evomodel/coalescent/GMRFDensityComponent.java
+++ b/src/dr/evomodel/coalescent/GMRFDensityComponent.java
@@ -1,3 +1,28 @@
+/*
+ * GMRFDensityComponent.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.inference.model.Likelihood;
diff --git a/src/dr/evomodel/coalescent/GMRFFixedGridLikelihood.java b/src/dr/evomodel/coalescent/GMRFFixedGridLikelihood.java
index f2a5f84..8051f68 100644
--- a/src/dr/evomodel/coalescent/GMRFFixedGridLikelihood.java
+++ b/src/dr/evomodel/coalescent/GMRFFixedGridLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * GMRFFixedGridLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import java.util.ArrayList;
diff --git a/src/dr/evomodel/coalescent/GMRFIntervalHeightsStatistic.java b/src/dr/evomodel/coalescent/GMRFIntervalHeightsStatistic.java
index 85b98b1..197d4b1 100644
--- a/src/dr/evomodel/coalescent/GMRFIntervalHeightsStatistic.java
+++ b/src/dr/evomodel/coalescent/GMRFIntervalHeightsStatistic.java
@@ -1,7 +1,7 @@
 /*
- * RateStatistic.java
+ * GMRFIntervalHeightsStatistic.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/GMRFMultilocusSkyrideLikelihood.java b/src/dr/evomodel/coalescent/GMRFMultilocusSkyrideLikelihood.java
index 7ad664c..735a9ac 100644
--- a/src/dr/evomodel/coalescent/GMRFMultilocusSkyrideLikelihood.java
+++ b/src/dr/evomodel/coalescent/GMRFMultilocusSkyrideLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * GMRFMultilocusSkyrideLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -349,7 +349,7 @@ public class GMRFMultilocusSkyrideLikelihood extends GMRFSkyrideLikelihood imple
 
             numLineages = intervalsList.get(i).getLineageCount(currentTimeIndex + 1);
             minGridIndex = 0;
-            while (gridPoints[minGridIndex] <= currentTime) {
+            while (minGridIndex < numGridPoints - 1 && gridPoints[minGridIndex] <= currentTime) {
                 minGridIndex++;
             }
             currentGridIndex = minGridIndex;
@@ -363,7 +363,7 @@ public class GMRFMultilocusSkyrideLikelihood extends GMRFSkyrideLikelihood imple
                 maxGridIndex = maxGridIndex - 1;
             }
 
-            if (maxGridIndex >= 0) {
+            if (maxGridIndex >= 0 && minGridIndex < numGridPoints) {
 
                 //from likelihood of interval between first sampling time and gridPoints[minGridIndex]
 
@@ -484,6 +484,7 @@ public class GMRFMultilocusSkyrideLikelihood extends GMRFSkyrideLikelihood imple
                     currentTimeIndex++;
 
                 }
+            // if tree does not overlap with any gridpoints/change-points, in which case logpopsize is constant
             } else {
                 while ((currentTimeIndex + 1) < intervalsList.get(i).getIntervalCount()) {
                     //check to see if interval is coalescent interval or sampling interval
diff --git a/src/dr/evomodel/coalescent/GMRFPopSizeStatistic.java b/src/dr/evomodel/coalescent/GMRFPopSizeStatistic.java
index 57ab230..3bbb816 100644
--- a/src/dr/evomodel/coalescent/GMRFPopSizeStatistic.java
+++ b/src/dr/evomodel/coalescent/GMRFPopSizeStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * GMRFPopSizeStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.inference.model.Statistic;
diff --git a/src/dr/evomodel/coalescent/GMRFSkyrideLikelihood.java b/src/dr/evomodel/coalescent/GMRFSkyrideLikelihood.java
index e8bff88..6886eab 100644
--- a/src/dr/evomodel/coalescent/GMRFSkyrideLikelihood.java
+++ b/src/dr/evomodel/coalescent/GMRFSkyrideLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * GMRFSkyrideLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/GMRFTestLikelihood.java b/src/dr/evomodel/coalescent/GMRFTestLikelihood.java
index 75b4b2e..5c3c8da 100644
--- a/src/dr/evomodel/coalescent/GMRFTestLikelihood.java
+++ b/src/dr/evomodel/coalescent/GMRFTestLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * GMRFTestLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodel/coalescent/GPSkytrackAnalysis.java b/src/dr/evomodel/coalescent/GPSkytrackAnalysis.java
index 6344fe7..dfb535e 100644
--- a/src/dr/evomodel/coalescent/GPSkytrackAnalysis.java
+++ b/src/dr/evomodel/coalescent/GPSkytrackAnalysis.java
@@ -1,3 +1,28 @@
+/*
+ * GPSkytrackAnalysis.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.evolution.io.Importer;
diff --git a/src/dr/evomodel/coalescent/GammaProductLikelihood.java b/src/dr/evomodel/coalescent/GammaProductLikelihood.java
index 1cda42f..829bb26 100644
--- a/src/dr/evomodel/coalescent/GammaProductLikelihood.java
+++ b/src/dr/evomodel/coalescent/GammaProductLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * GammaProductLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.evomodel.tree.TreeModel;
diff --git a/src/dr/evomodel/coalescent/GaussianProcessMultilocusSkytrackLikelihood.java b/src/dr/evomodel/coalescent/GaussianProcessMultilocusSkytrackLikelihood.java
index 10ce386..55f8cdf 100644
--- a/src/dr/evomodel/coalescent/GaussianProcessMultilocusSkytrackLikelihood.java
+++ b/src/dr/evomodel/coalescent/GaussianProcessMultilocusSkytrackLikelihood.java
@@ -1,7 +1,7 @@
 /*
- * GMRFMultilocusSkyrideLikelihood.java
+ * GaussianProcessMultilocusSkytrackLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/GaussianProcessSkytrackLikelihood.java b/src/dr/evomodel/coalescent/GaussianProcessSkytrackLikelihood.java
index fe652a7..d283b5f 100644
--- a/src/dr/evomodel/coalescent/GaussianProcessSkytrackLikelihood.java
+++ b/src/dr/evomodel/coalescent/GaussianProcessSkytrackLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * GaussianProcessSkytrackLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/LineageCountStatistic.java b/src/dr/evomodel/coalescent/LineageCountStatistic.java
index dfb3028..16ca4be 100644
--- a/src/dr/evomodel/coalescent/LineageCountStatistic.java
+++ b/src/dr/evomodel/coalescent/LineageCountStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * LineageCountStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.inference.model.Statistic;
diff --git a/src/dr/evomodel/coalescent/LinearGrowthModel.java b/src/dr/evomodel/coalescent/LinearGrowthModel.java
new file mode 100644
index 0000000..bf3f807
--- /dev/null
+++ b/src/dr/evomodel/coalescent/LinearGrowthModel.java
@@ -0,0 +1,81 @@
+/*
+ * LinearGrowthModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.evomodel.coalescent;
+
+import dr.evolution.coalescent.ConstantPopulation;
+import dr.evolution.coalescent.DemographicFunction;
+import dr.evolution.coalescent.LinearGrowth;
+import dr.evomodelxml.coalescent.ConstantPopulationModelParser;
+import dr.evomodelxml.coalescent.LinearGrowthModelParser;
+import dr.inference.model.Parameter;
+
+/**
+ * A wrapper for LinearGrowth.
+ *
+ * @author Matthew Hall
+ *
+ */
+public class LinearGrowthModel extends DemographicModel {
+    //
+    // Public stuff
+    //
+    /**
+     * Construct demographic model with default settings
+     */
+    public LinearGrowthModel(Parameter slopeParameter, Type units) {
+
+        this(LinearGrowthModelParser.LINEAR_GROWTH_MODEL, slopeParameter, units);
+    }
+
+    /**
+     * Construct demographic model with default settings
+     */
+    public LinearGrowthModel(String name, Parameter slopeParameter, Type units) {
+
+        super(name);
+
+        linearGrowth = new LinearGrowth(units);
+
+        this.slopeParameter = slopeParameter;
+        addVariable(slopeParameter);
+        slopeParameter.addBounds(new Parameter.DefaultBounds(Double.POSITIVE_INFINITY, 0.0, 1));
+        setUnits(units);
+    }
+
+    // general functions
+
+    public DemographicFunction getDemographicFunction() {
+        linearGrowth.setN0(slopeParameter.getParameterValue(0));
+        return linearGrowth;
+    }
+
+    //
+    // protected stuff
+    //
+
+    private Parameter slopeParameter;
+    private LinearGrowth linearGrowth = null;
+}
diff --git a/src/dr/evomodel/coalescent/LogisticGrowthModel.java b/src/dr/evomodel/coalescent/LogisticGrowthModel.java
index 6663636..8c8976f 100644
--- a/src/dr/evomodel/coalescent/LogisticGrowthModel.java
+++ b/src/dr/evomodel/coalescent/LogisticGrowthModel.java
@@ -1,7 +1,7 @@
 /*
  * LogisticGrowthModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/MultiLociTreeSet.java b/src/dr/evomodel/coalescent/MultiLociTreeSet.java
index ffecd6f..f43d76a 100644
--- a/src/dr/evomodel/coalescent/MultiLociTreeSet.java
+++ b/src/dr/evomodel/coalescent/MultiLociTreeSet.java
@@ -1,3 +1,28 @@
+/*
+ * MultiLociTreeSet.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodel/coalescent/OldAbstractCoalescentLikelihood.java b/src/dr/evomodel/coalescent/OldAbstractCoalescentLikelihood.java
index 3114a63..ff0711c 100644
--- a/src/dr/evomodel/coalescent/OldAbstractCoalescentLikelihood.java
+++ b/src/dr/evomodel/coalescent/OldAbstractCoalescentLikelihood.java
@@ -1,7 +1,7 @@
 /*
- * CoalescentLikelihood.java
+ * OldAbstractCoalescentLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/OrnsteinUhlenbeckPriorLikelihood.java b/src/dr/evomodel/coalescent/OrnsteinUhlenbeckPriorLikelihood.java
index d8009ca..cf01b9b 100644
--- a/src/dr/evomodel/coalescent/OrnsteinUhlenbeckPriorLikelihood.java
+++ b/src/dr/evomodel/coalescent/OrnsteinUhlenbeckPriorLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * OrnsteinUhlenbeckPriorLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.evomodelxml.coalescent.OrnsteinUhlenbeckPriorLikelihoodParser;
diff --git a/src/dr/evomodel/coalescent/PeakAndDeclineModel.java b/src/dr/evomodel/coalescent/PeakAndDeclineModel.java
new file mode 100644
index 0000000..7782ee6
--- /dev/null
+++ b/src/dr/evomodel/coalescent/PeakAndDeclineModel.java
@@ -0,0 +1,112 @@
+/*
+ * PeakAndDeclineModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.evomodel.coalescent;
+
+import dr.evolution.coalescent.DemographicFunction;
+import dr.evolution.coalescent.FlexibleGrowth;
+import dr.evolution.coalescent.LogisticGrowth;
+import dr.evomodelxml.coalescent.LogisticGrowthModelParser;
+import dr.evomodelxml.coalescent.PeakAndDeclineModelParser;
+import dr.inference.model.Parameter;
+
+/**
+ * Growth starts at zero at time zero, peaks and declines
+ *
+ */
+public class PeakAndDeclineModel extends DemographicModel {
+
+    //
+    // Public stuff
+    //
+
+    /**
+     * Construct demographic model with default settings
+     */
+    public PeakAndDeclineModel(Parameter peakValueParameter, Parameter shapeParameter, Parameter peakTimeParameter,
+                               Type units) {
+
+        this(PeakAndDeclineModelParser.PEAK_AND_DECLINE_MODEL, peakValueParameter, shapeParameter, peakTimeParameter,
+                units);
+    }
+
+    /**
+     * Construct demographic model with default settings
+     */
+    public PeakAndDeclineModel(String name, Parameter peakValueParameter, Parameter shapeParameter,
+                               Parameter peakTimeParameter, Type units) {
+
+        super(name);
+
+        flexibleGrowth = new FlexibleGrowth(units);
+
+        this.peakValueParameter = peakValueParameter;
+        addVariable(peakValueParameter);
+        peakValueParameter.addBounds(new Parameter.DefaultBounds(Double.POSITIVE_INFINITY, 0.0, 1));
+
+        this.peakTimeParameter = peakTimeParameter;
+        addVariable(peakTimeParameter);
+        peakTimeParameter.addBounds(new Parameter.DefaultBounds(0, Double.NEGATIVE_INFINITY, 1));
+
+        this.shapeParameter = shapeParameter;
+        addVariable(shapeParameter);
+        shapeParameter.addBounds(new Parameter.DefaultBounds(0, Double.NEGATIVE_INFINITY, 1));
+
+
+        setUnits(units);
+    }
+
+
+    // general functions
+
+    public DemographicFunction getDemographicFunction() {
+
+        double peakTimeValue = peakTimeParameter.getParameterValue(0);
+        double peakValueValue = peakValueParameter.getParameterValue(0);
+        double shapeValue = shapeParameter.getParameterValue(0);
+
+        double flexibleN0 = peakValueValue*(1-shapeValue)/(shapeValue*peakTimeValue);
+        double flexibleK = (-shapeValue/Math.pow(-peakTimeValue, shapeValue-1));
+
+
+        flexibleGrowth.setN0(flexibleN0);
+        flexibleGrowth.setK(flexibleK);
+        flexibleGrowth.setR(shapeValue);
+
+
+
+        return flexibleGrowth;
+    }
+
+    //
+    // protected stuff
+    //
+
+    Parameter peakValueParameter = null;
+    Parameter shapeParameter = null;
+    Parameter peakTimeParameter = null;
+    FlexibleGrowth flexibleGrowth = null;
+
+}
diff --git a/src/dr/evomodel/coalescent/PiecewisePopulationModel.java b/src/dr/evomodel/coalescent/PiecewisePopulationModel.java
index 838f520..0901396 100644
--- a/src/dr/evomodel/coalescent/PiecewisePopulationModel.java
+++ b/src/dr/evomodel/coalescent/PiecewisePopulationModel.java
@@ -1,7 +1,7 @@
 /*
  * PiecewisePopulationModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/PopSizeStatistic.java b/src/dr/evomodel/coalescent/PopSizeStatistic.java
index f60a502..34a3aa6 100644
--- a/src/dr/evomodel/coalescent/PopSizeStatistic.java
+++ b/src/dr/evomodel/coalescent/PopSizeStatistic.java
@@ -1,7 +1,7 @@
 /*
  * PopSizeStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/PopulationSizeGraph.java b/src/dr/evomodel/coalescent/PopulationSizeGraph.java
index 11c6ebc..5ad4958 100644
--- a/src/dr/evomodel/coalescent/PopulationSizeGraph.java
+++ b/src/dr/evomodel/coalescent/PopulationSizeGraph.java
@@ -1,3 +1,28 @@
+/*
+ * PopulationSizeGraph.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.inference.model.Statistic;
diff --git a/src/dr/evomodel/coalescent/PowerLawGrowthModel.java b/src/dr/evomodel/coalescent/PowerLawGrowthModel.java
new file mode 100644
index 0000000..dd8f1b3
--- /dev/null
+++ b/src/dr/evomodel/coalescent/PowerLawGrowthModel.java
@@ -0,0 +1,98 @@
+/*
+ * PowerLawGrowthModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.evomodel.coalescent;
+
+import dr.evolution.coalescent.DemographicFunction;
+import dr.evolution.coalescent.ExponentialGrowth;
+import dr.evolution.coalescent.PowerLawGrowth;
+import dr.evomodelxml.coalescent.ExponentialGrowthModelParser;
+import dr.evomodelxml.coalescent.PowerLawGrowthModelParser;
+import dr.inference.model.Parameter;
+
+/**
+ * This class models an exponentially growing (or shrinking) population
+ * (Parameters: N0=present-day population size; r=growth rate).
+ * This model is nested with the constant-population size model (r=0).
+ *
+ * @author Alexei Drummond
+ * @author Andrew Rambaut
+ * @version $Id: ExponentialGrowthModel.java,v 1.14 2005/05/24 20:25:57 rambaut Exp $
+ */
+public class PowerLawGrowthModel extends DemographicModel {
+
+    //
+    // Public stuff
+    //
+    /**
+     * Construct demographic model with default settings
+     */
+    public PowerLawGrowthModel(Parameter N0Parameter, Parameter growthRateParameter,
+                               Type units) {
+
+        this(PowerLawGrowthModelParser.POWER_LAW_GROWTH_MODEL, N0Parameter, growthRateParameter, units);
+    }
+
+    /**
+     * Construct demographic model with default settings
+     */
+    public PowerLawGrowthModel(String name, Parameter N0Parameter, Parameter powerParameter,
+                               Type units) {
+
+        super(name);
+
+        powerLawGrowth = new PowerLawGrowth(units);
+
+        this.N0Parameter = N0Parameter;
+        addVariable(N0Parameter);
+        N0Parameter.addBounds(new Parameter.DefaultBounds(Double.MAX_VALUE, 0.0, 1));
+
+        this.powerParameter = powerParameter;
+        addVariable(powerParameter);
+        powerParameter.addBounds(new Parameter.DefaultBounds(Double.MAX_VALUE, 1, 1));
+
+        setUnits(units);
+    }
+
+
+    // general functions
+
+    public DemographicFunction getDemographicFunction() {
+        powerLawGrowth.setN0(N0Parameter.getParameterValue(0));
+
+
+        double r = powerParameter.getParameterValue(0);
+        powerLawGrowth.setR(r);
+
+        return powerLawGrowth;
+    }
+    //
+    // protected stuff
+    //
+
+    Parameter N0Parameter = null;
+    Parameter powerParameter = null;
+    PowerLawGrowth powerLawGrowth = null;
+}
diff --git a/src/dr/evomodel/coalescent/ScaledPiecewiseModel.java b/src/dr/evomodel/coalescent/ScaledPiecewiseModel.java
index 72cb67d..6455ffd 100644
--- a/src/dr/evomodel/coalescent/ScaledPiecewiseModel.java
+++ b/src/dr/evomodel/coalescent/ScaledPiecewiseModel.java
@@ -1,7 +1,7 @@
 /*
  * ScaledPiecewiseModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/SkylineLikelihood.java b/src/dr/evomodel/coalescent/SkylineLikelihood.java
index a1f0e88..8a2868a 100644
--- a/src/dr/evomodel/coalescent/SkylineLikelihood.java
+++ b/src/dr/evomodel/coalescent/SkylineLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * SkylineLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/TwoEpochDemographicModel.java b/src/dr/evomodel/coalescent/TwoEpochDemographicModel.java
index 0d8a57e..417df6e 100644
--- a/src/dr/evomodel/coalescent/TwoEpochDemographicModel.java
+++ b/src/dr/evomodel/coalescent/TwoEpochDemographicModel.java
@@ -1,7 +1,7 @@
 /*
  * TwoEpochDemographicModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/VDdemographicFunction.java b/src/dr/evomodel/coalescent/VDdemographicFunction.java
index ef5364b..5db4b66 100644
--- a/src/dr/evomodel/coalescent/VDdemographicFunction.java
+++ b/src/dr/evomodel/coalescent/VDdemographicFunction.java
@@ -1,3 +1,28 @@
+/*
+ * VDdemographicFunction.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent;
 
 import dr.evolution.coalescent.DemographicFunction;
diff --git a/src/dr/evomodel/coalescent/VariableDemographicModel.java b/src/dr/evomodel/coalescent/VariableDemographicModel.java
index ab39d45..8c3d548 100644
--- a/src/dr/evomodel/coalescent/VariableDemographicModel.java
+++ b/src/dr/evomodel/coalescent/VariableDemographicModel.java
@@ -1,7 +1,7 @@
 /*
  * VariableDemographicModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/VariableSkylineLikelihood.java b/src/dr/evomodel/coalescent/VariableSkylineLikelihood.java
index 08bf247..893bbcf 100644
--- a/src/dr/evomodel/coalescent/VariableSkylineLikelihood.java
+++ b/src/dr/evomodel/coalescent/VariableSkylineLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * VariableSkylineLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/operators/BayesianSkylineGibbsOperator.java b/src/dr/evomodel/coalescent/operators/BayesianSkylineGibbsOperator.java
index 36d7f58..3bfb7d9 100644
--- a/src/dr/evomodel/coalescent/operators/BayesianSkylineGibbsOperator.java
+++ b/src/dr/evomodel/coalescent/operators/BayesianSkylineGibbsOperator.java
@@ -1,3 +1,28 @@
+/*
+ * BayesianSkylineGibbsOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent.operators;
 
 import dr.evolution.coalescent.ConstantPopulation;
diff --git a/src/dr/evomodel/coalescent/operators/GMRFMultilocusSkyrideBlockUpdateOperator.java b/src/dr/evomodel/coalescent/operators/GMRFMultilocusSkyrideBlockUpdateOperator.java
index da306a9..c9b888f 100644
--- a/src/dr/evomodel/coalescent/operators/GMRFMultilocusSkyrideBlockUpdateOperator.java
+++ b/src/dr/evomodel/coalescent/operators/GMRFMultilocusSkyrideBlockUpdateOperator.java
@@ -1,3 +1,28 @@
+/*
+ * GMRFMultilocusSkyrideBlockUpdateOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent.operators;
 
 import dr.evomodel.coalescent.GMRFMultilocusSkyrideLikelihood;
diff --git a/src/dr/evomodel/coalescent/operators/GMRFSkyrideBlockUpdateOperator.java b/src/dr/evomodel/coalescent/operators/GMRFSkyrideBlockUpdateOperator.java
index 5313e96..9d915f4 100644
--- a/src/dr/evomodel/coalescent/operators/GMRFSkyrideBlockUpdateOperator.java
+++ b/src/dr/evomodel/coalescent/operators/GMRFSkyrideBlockUpdateOperator.java
@@ -1,3 +1,28 @@
+/*
+ * GMRFSkyrideBlockUpdateOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent.operators;
 
 import dr.evomodel.coalescent.GMRFSkyrideLikelihood;
diff --git a/src/dr/evomodel/coalescent/operators/GMRFSkyrideFixedEffectsGibbsOperator.java b/src/dr/evomodel/coalescent/operators/GMRFSkyrideFixedEffectsGibbsOperator.java
index bb9d675..ee23866 100644
--- a/src/dr/evomodel/coalescent/operators/GMRFSkyrideFixedEffectsGibbsOperator.java
+++ b/src/dr/evomodel/coalescent/operators/GMRFSkyrideFixedEffectsGibbsOperator.java
@@ -1,3 +1,28 @@
+/*
+ * GMRFSkyrideFixedEffectsGibbsOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent.operators;
 
 import dr.evomodel.coalescent.GMRFSkyrideLikelihood;
diff --git a/src/dr/evomodel/coalescent/operators/GaussianProcessSkytrackBlockUpdateOperator.java b/src/dr/evomodel/coalescent/operators/GaussianProcessSkytrackBlockUpdateOperator.java
index 224f98b..592bf5c 100644
--- a/src/dr/evomodel/coalescent/operators/GaussianProcessSkytrackBlockUpdateOperator.java
+++ b/src/dr/evomodel/coalescent/operators/GaussianProcessSkytrackBlockUpdateOperator.java
@@ -1,3 +1,28 @@
+/*
+ * GaussianProcessSkytrackBlockUpdateOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent.operators;
 
 
diff --git a/src/dr/evomodel/coalescent/operators/GaussianProcessSkytrackTreeOperator.java b/src/dr/evomodel/coalescent/operators/GaussianProcessSkytrackTreeOperator.java
index ec06f59..4a6be98 100644
--- a/src/dr/evomodel/coalescent/operators/GaussianProcessSkytrackTreeOperator.java
+++ b/src/dr/evomodel/coalescent/operators/GaussianProcessSkytrackTreeOperator.java
@@ -1,3 +1,28 @@
+/*
+ * GaussianProcessSkytrackTreeOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/coalescent/operators/SampleNonActiveGibbsOperator.java b/src/dr/evomodel/coalescent/operators/SampleNonActiveGibbsOperator.java
index 1006ac2..bb28728 100644
--- a/src/dr/evomodel/coalescent/operators/SampleNonActiveGibbsOperator.java
+++ b/src/dr/evomodel/coalescent/operators/SampleNonActiveGibbsOperator.java
@@ -1,3 +1,28 @@
+/*
+ * SampleNonActiveGibbsOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.coalescent.operators;
 
 import dr.inference.distribution.ParametricDistributionModel;
diff --git a/src/dr/evomodel/coalescent/structure/ColourSamplerModel.java b/src/dr/evomodel/coalescent/structure/ColourSamplerModel.java
index cdf245d..8d00590 100644
--- a/src/dr/evomodel/coalescent/structure/ColourSamplerModel.java
+++ b/src/dr/evomodel/coalescent/structure/ColourSamplerModel.java
@@ -1,7 +1,7 @@
 /*
  * ColourSamplerModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/structure/ConstantMigrationModel.java b/src/dr/evomodel/coalescent/structure/ConstantMigrationModel.java
index 434d69d..bc37819 100644
--- a/src/dr/evomodel/coalescent/structure/ConstantMigrationModel.java
+++ b/src/dr/evomodel/coalescent/structure/ConstantMigrationModel.java
@@ -1,7 +1,7 @@
 /*
  * ConstantMigrationModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/structure/MetaPopulationModel.java b/src/dr/evomodel/coalescent/structure/MetaPopulationModel.java
index 5998b16..91181e8 100644
--- a/src/dr/evomodel/coalescent/structure/MetaPopulationModel.java
+++ b/src/dr/evomodel/coalescent/structure/MetaPopulationModel.java
@@ -1,7 +1,7 @@
 /*
  * MetaPopulationModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/structure/MigrationModel.java b/src/dr/evomodel/coalescent/structure/MigrationModel.java
index f6f03fc..3f2d83d 100644
--- a/src/dr/evomodel/coalescent/structure/MigrationModel.java
+++ b/src/dr/evomodel/coalescent/structure/MigrationModel.java
@@ -1,7 +1,7 @@
 /*
  * MigrationModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/coalescent/structure/StructuredCoalescentLikelihood.java b/src/dr/evomodel/coalescent/structure/StructuredCoalescentLikelihood.java
index 96a4b40..eb0738f 100644
--- a/src/dr/evomodel/coalescent/structure/StructuredCoalescentLikelihood.java
+++ b/src/dr/evomodel/coalescent/structure/StructuredCoalescentLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * StructuredCoalescentLikelihood.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/coalescent/structure/TreeColouringOperator.java b/src/dr/evomodel/coalescent/structure/TreeColouringOperator.java
index 56bd7f1..2faf46d 100644
--- a/src/dr/evomodel/coalescent/structure/TreeColouringOperator.java
+++ b/src/dr/evomodel/coalescent/structure/TreeColouringOperator.java
@@ -1,7 +1,7 @@
 /*
  * TreeColouringOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/AbstractMultivariateTraitLikelihood.java b/src/dr/evomodel/continuous/AbstractMultivariateTraitLikelihood.java
index 24687bd..649a657 100644
--- a/src/dr/evomodel/continuous/AbstractMultivariateTraitLikelihood.java
+++ b/src/dr/evomodel/continuous/AbstractMultivariateTraitLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * AbstractMultivariateTraitLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -34,13 +34,16 @@ import dr.inference.distribution.MultivariateDistributionLikelihood;
 import dr.inference.loggers.LogColumn;
 import dr.inference.loggers.NumberColumn;
 import dr.inference.model.*;
+import dr.math.MathUtils;
 import dr.math.distributions.MultivariateDistribution;
 import dr.math.distributions.MultivariateNormalDistribution;
+import dr.stats.DiscreteStatistics;
 import dr.util.Author;
 import dr.util.Citable;
 import dr.util.Citation;
 import dr.util.CommonCitations;
 import dr.xml.*;
+import org.apache.commons.math.stat.descriptive.DescriptiveStatistics;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
@@ -67,6 +70,7 @@ public abstract class AbstractMultivariateTraitLikelihood extends AbstractModelL
     public static final String SUBSTITUTIONS = "substitutions";
     public static final String SAMPLING_DENSITY = "samplingDensity";
     public static final String INTEGRATE = "integrateInternalTraits";
+    public static final String STANDARDIZE_TRAITS = "standardizeTraits";
     public static final String RECIPROCAL_RATES = "reciprocalRates";
     public static final String PRIOR_SAMPLE_SIZE = "priorSampleSize";
     public static final String RANDOM_SAMPLE = "randomSample";
@@ -725,6 +729,7 @@ public abstract class AbstractMultivariateTraitLikelihood extends AbstractModelL
             boolean scaleByTime = xo.getAttribute(SCALE_BY_TIME, false);
             boolean reciprocalRates = xo.getAttribute(RECIPROCAL_RATES, false);
             boolean reportAsMultivariate = xo.getAttribute(REPORT_MULTIVARIATE, true);
+            boolean standardizeTraits = xo.getAttribute(STANDARDIZE_TRAITS, false);
 
             BranchRateModel rateModel = (BranchRateModel) xo.getChild(BranchRateModel.class);
 
@@ -786,6 +791,43 @@ public abstract class AbstractMultivariateTraitLikelihood extends AbstractModelL
                 XMLObject cxo = xo.getChild("delta");
                 deltaParameter = (Parameter) cxo.getChild(Parameter.class);
             }
+
+            if (standardizeTraits) {
+//                standardize(traitParameter);
+//                dimTrait = diffusionModel.getPrecisionmatrix().length;
+//                        dim = traitParameter != null ? traitParameter.getParameter(0).getDimension() : 0;
+//                        numData = dim / dimTrait;
+
+//                System.err.println(traitParameter.getDimension());
+//                System.err.println(traitParameter.getParameterCount());
+//                System.err.println(traitParameter.getParameter(0).getDimension());
+//                System.exit(-1);
+                int numTraits = traitParameter.getParameter(0).getDimension();
+                int numObservations = traitParameter.getParameterCount();
+
+                StringBuilder sb = new StringBuilder();
+                sb.append("Traits have been standardized.  Use following to transform values back to original scale.\n");
+                for (int trait = 0; trait < numTraits; ++trait) {
+                    double[] values = new double[numObservations];
+                    for (int obs = 0; obs < numObservations; ++obs) {
+                        values[obs] = traitParameter.getParameter(obs).getParameterValue(trait);
+                    }
+
+                    double traitMean = DiscreteStatistics.mean(values);
+                    double traitSD = Math.sqrt(DiscreteStatistics.variance(values, traitMean));
+
+                    sb.append("\tDimension " + (trait + 1) + ": multiply by " + traitSD + " then add " + traitMean + "\n");
+
+                    for (int obs = 0; obs < numObservations; ++obs) {
+                        traitParameter.getParameter(obs).setParameterValue(trait,
+                                (values[obs] - traitMean) / traitSD);
+                    }
+                }
+
+                Logger.getLogger("dr.evomodel").info(sb.toString());
+
+            }
+
             AbstractMultivariateTraitLikelihood like;
 
             if (integrate) {
@@ -880,7 +922,7 @@ public abstract class AbstractMultivariateTraitLikelihood extends AbstractModelL
             }
 
             if (!xo.hasAttribute(TreeTraitParserUtilities.ALLOW_IDENTICAL) &&
-                    utilities.hasIdenticalTraits(traitParameter, diffusionModel.getPrecisionmatrix().length)) {
+                    utilities.hasIdenticalTraits(traitParameter, missingIndices, diffusionModel.getPrecisionmatrix().length)) {
                 throw new XMLParseException("For multivariate trait analyses, all trait values should be unique.\n" +
                         "Check data or add random noise using 'jitter' option.");
             }
@@ -940,6 +982,7 @@ public abstract class AbstractMultivariateTraitLikelihood extends AbstractModelL
                 AttributeRule.newBooleanRule(USE_TREE_LENGTH, true),
                 AttributeRule.newBooleanRule(SCALE_BY_TIME, true),
                 AttributeRule.newBooleanRule(RECIPROCAL_RATES, true),
+                AttributeRule.newBooleanRule(STANDARDIZE_TRAITS, true),
                 AttributeRule.newBooleanRule(CACHE_BRANCHES, true),
                 AttributeRule.newIntegerRule(RANDOM_SAMPLE, true),
                 AttributeRule.newBooleanRule(IGNORE_PHYLOGENY, true),
diff --git a/src/dr/evomodel/continuous/BiasedMultivariateDiffusionModel.java b/src/dr/evomodel/continuous/BiasedMultivariateDiffusionModel.java
index a06295e..67afc6c 100644
--- a/src/dr/evomodel/continuous/BiasedMultivariateDiffusionModel.java
+++ b/src/dr/evomodel/continuous/BiasedMultivariateDiffusionModel.java
@@ -1,3 +1,28 @@
+/*
+ * BiasedMultivariateDiffusionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 import dr.xml.*;
diff --git a/src/dr/evomodel/continuous/BifractionalDiffusionModel.java b/src/dr/evomodel/continuous/BifractionalDiffusionModel.java
index c19eec3..463b43b 100644
--- a/src/dr/evomodel/continuous/BifractionalDiffusionModel.java
+++ b/src/dr/evomodel/continuous/BifractionalDiffusionModel.java
@@ -1,3 +1,28 @@
+/*
+ * BifractionalDiffusionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/evomodel/continuous/BinaryLatentLiabilityLikelihood.java b/src/dr/evomodel/continuous/BinaryLatentLiabilityLikelihood.java
index 30404c2..f8e8766 100644
--- a/src/dr/evomodel/continuous/BinaryLatentLiabilityLikelihood.java
+++ b/src/dr/evomodel/continuous/BinaryLatentLiabilityLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * BinaryLatentLiabilityLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/BivariateDiscreteDiffusionModel.java b/src/dr/evomodel/continuous/BivariateDiscreteDiffusionModel.java
index e9df188..c59b574 100644
--- a/src/dr/evomodel/continuous/BivariateDiscreteDiffusionModel.java
+++ b/src/dr/evomodel/continuous/BivariateDiscreteDiffusionModel.java
@@ -1,7 +1,7 @@
 /*
  * BivariateDiscreteDiffusionModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/continuous/BivariateTraitBranchAttributeProvider.java b/src/dr/evomodel/continuous/BivariateTraitBranchAttributeProvider.java
index bfc1c9a..78abbc7 100644
--- a/src/dr/evomodel/continuous/BivariateTraitBranchAttributeProvider.java
+++ b/src/dr/evomodel/continuous/BivariateTraitBranchAttributeProvider.java
@@ -1,3 +1,28 @@
+/*
+ * BivariateTraitBranchAttributeProvider.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/continuous/BranchDirectionAttributeProvider.java b/src/dr/evomodel/continuous/BranchDirectionAttributeProvider.java
index fe98a53..9c69041 100644
--- a/src/dr/evomodel/continuous/BranchDirectionAttributeProvider.java
+++ b/src/dr/evomodel/continuous/BranchDirectionAttributeProvider.java
@@ -1,3 +1,28 @@
+/*
+ * BranchDirectionAttributeProvider.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 import dr.xml.*;
diff --git a/src/dr/evomodel/continuous/BranchMagnitudeAttributeProvider.java b/src/dr/evomodel/continuous/BranchMagnitudeAttributeProvider.java
index 4e97364..320cd6c 100644
--- a/src/dr/evomodel/continuous/BranchMagnitudeAttributeProvider.java
+++ b/src/dr/evomodel/continuous/BranchMagnitudeAttributeProvider.java
@@ -1,3 +1,28 @@
+/*
+ * BranchMagnitudeAttributeProvider.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 import dr.xml.*;
diff --git a/src/dr/evomodel/continuous/CartogramDiffusionModel.java b/src/dr/evomodel/continuous/CartogramDiffusionModel.java
index a9e8358..a31b475 100644
--- a/src/dr/evomodel/continuous/CartogramDiffusionModel.java
+++ b/src/dr/evomodel/continuous/CartogramDiffusionModel.java
@@ -1,3 +1,28 @@
+/*
+ * CartogramDiffusionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/evomodel/continuous/ContinuousDiffusionStatistic.java b/src/dr/evomodel/continuous/ContinuousDiffusionStatistic.java
index 4d7f6b1..8775cde 100644
--- a/src/dr/evomodel/continuous/ContinuousDiffusionStatistic.java
+++ b/src/dr/evomodel/continuous/ContinuousDiffusionStatistic.java
@@ -1,7 +1,7 @@
 /*
  * ContinuousDiffusionStatistic.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -25,15 +25,13 @@
 
 package dr.evomodel.continuous;
 
-import dr.app.beagle.evomodel.treelikelihood.AncestralStateBeagleTreeLikelihood;
 import dr.app.beagle.evomodel.treelikelihood.MarkovJumpsBeagleTreeLikelihood;
-import dr.app.beagle.evomodel.utilities.HistoryFilter;
 import dr.app.util.Arguments;
 import dr.evolution.tree.MultivariateTraitTree;
 import dr.evolution.tree.NodeRef;
-import dr.evolution.tree.TreeTrait;
+import dr.evolution.tree.Tree;
+import dr.evolution.util.TaxonList;
 import dr.evomodel.branchratemodel.BranchRateModel;
-import dr.evomodel.tree.TreeModel;
 import dr.evomodel.tree.TreeStatistic;
 import dr.geo.math.SphericalPolarCoordinates;
 import dr.inference.model.Statistic;
@@ -79,11 +77,18 @@ public class ContinuousDiffusionStatistic extends Statistic.Abstract {
     public static final Integer SITE = 0;
     public static final Integer NUMBER_OF_HISTORY_ENTRIES = 3;
     public static final String NOISE = "noise";
+    public static final String TAXA = "taxa";
+    public static final String BRANCHSET = "branchSet";
+    public static final String ALL = "all";
+    public static final String CLADE = "clade";
+    public static final String BACKBONE = "backbone";
+    public static final String BACKBONE_TIME = "backboneTime";
 
     public ContinuousDiffusionStatistic(String name, List<AbstractMultivariateTraitLikelihood> traitLikelihoods,
                                         boolean greatCircleDistances, Mode mode,
                                         summaryStatistic statistic, double heightUpper, double heightLower,
                                         double[] lowerHeights, boolean cumulative, boolean trueNoise, int dimension,
+                                        TaxonList taxonList, BranchSet branchset, Double backboneTime,
                                         String stateString, MarkovJumpsBeagleTreeLikelihood markovJumpLikelihood) {
         super(name);
         this.traitLikelihoods = traitLikelihoods;
@@ -104,6 +109,10 @@ public class ContinuousDiffusionStatistic extends Statistic.Abstract {
 
         this.dimension = dimension;
 
+        this.taxonList = taxonList;
+        this.branchset = branchset;
+        this.backboneTime = backboneTime;
+
         this.stateString =  stateString;
 //        this.stateInt = stateInt;
         this.markovJumpLikelihood = markovJumpLikelihood;
@@ -155,154 +164,176 @@ public class ContinuousDiffusionStatistic extends Statistic.Abstract {
 
                     NodeRef parentNode = tree.getParent(node);
 
-                    if ((tree.getNodeHeight(parentNode) > lowerHeight) && (tree.getNodeHeight(node) < upperHeight)) {
+                    boolean testNode = true;
+                    if  (branchset.equals(BranchSet.CLADE)){
+                        try{
+                            testNode = inClade(tree, node, taxonList);
+                        } catch (Tree.MissingTaxonException mte) {
+                            throw new RuntimeException(mte.toString());
+                        }
+                    }  else if (branchset.equals(BranchSet.BACKBONE)) {
+                        if (backboneTime > 0) {
+                            testNode = onAncestralPathTime(tree, node, backboneTime);
+                        } else {
+                            try{
+                                testNode = onAncestralPathTaxa(tree, node, taxonList);
+                            } catch (Tree.MissingTaxonException mte) {
+                                throw new RuntimeException(mte.toString());
+                            }
+                        }
+                    }
 
-                        double[] trait = traitLikelihood.getTraitForNode(tree, node, traitName);
-                        double[] parentTrait = traitLikelihood.getTraitForNode(tree, parentNode, traitName);
+                    if (testNode){
 
-                        double[] traitUp = parentTrait;
-                        double[] traitLow = trait;
+                        if ((tree.getNodeHeight(parentNode) > lowerHeight) && (tree.getNodeHeight(node) < upperHeight)) {
 
-                        double timeUp = tree.getNodeHeight(parentNode);
-                        double timeLow = tree.getNodeHeight(node);
+                            double[] trait = traitLikelihood.getTraitForNode(tree, node, traitName);
+                            double[] parentTrait = traitLikelihood.getTraitForNode(tree, parentNode, traitName);
 
-                        double rate = (branchRates != null ? branchRates.getBranchRate(tree, node) : 1.0);
-//                        System.out.println(rate);
-                        MultivariateDiffusionModel diffModel = traitLikelihood.diffusionModel;
-                        double[] precision = diffModel.getPrecisionParameter().getParameterValues();
+                            double[] traitUp = parentTrait;
+                            double[] traitLow = trait;
 
-                        History history = null;
-                        if (stateString != null) {
-                            history = setUpHistory(markovJumpLikelihood.getHistoryForNode(tree,node,SITE),markovJumpLikelihood.getStatesForNode(tree,node)[SITE],markovJumpLikelihood.getStatesForNode(tree,parentNode)[SITE],timeLow,timeUp);
-                        }
+                            double timeUp = tree.getNodeHeight(parentNode);
+                            double timeLow = tree.getNodeHeight(node);
 
-                        if (tree.getNodeHeight(parentNode) > upperHeight) {
-                            timeUp = upperHeight;
-                            traitUp = imputeValue(trait, parentTrait, upperHeight, tree.getNodeHeight(node), tree.getNodeHeight(parentNode), precision, rate, trueNoise);
-                            if (stateString != null) {
-                                history.truncateUpper(timeUp);
-                            }
-                        }
+                            double rate = (branchRates != null ? branchRates.getBranchRate(tree, node) : 1.0);
+//                        System.out.println(rate);
+                            MultivariateDiffusionModel diffModel = traitLikelihood.diffusionModel;
+                            double[] precision = diffModel.getPrecisionParameter().getParameterValues();
 
-                        if (tree.getNodeHeight(node) < lowerHeight) {
-                            timeLow = lowerHeight;
-                            traitLow = imputeValue(trait, parentTrait, lowerHeight, tree.getNodeHeight(node), tree.getNodeHeight(parentNode), precision, rate, trueNoise);
+                            History history = null;
                             if (stateString != null) {
-                                history.truncateLower(timeLow);
+                                history = setUpHistory(markovJumpLikelihood.getHistoryForNode(tree, node, SITE), markovJumpLikelihood.getStatesForNode(tree, node)[SITE], markovJumpLikelihood.getStatesForNode(tree, parentNode)[SITE], timeLow, timeUp);
                             }
-                        }
 
-                        if (dimension > traitLow.length){
-                            System.err.println("specified trait dimension for continuous trait summary, "+dimension+", is > dimensionality of trait, "+ traitLow.length+". No trait summarized.");
-                        } else {
-                            traits.add(traitLow[(dimension - 1)]);
-                        }
-
-                        double time;
-                        if (stateString != null) {
-                            time = history.getStateTime(stateString);
-//                            System.out.println("tine before = "+(timeUp - timeLow)+", time after= "+time);
-                        } else {
-                            time = timeUp - timeLow;
-                        }
-                        treeLength += time;
+                            if (tree.getNodeHeight(parentNode) > upperHeight) {
+                                timeUp = upperHeight;
+                                traitUp = imputeValue(trait, parentTrait, upperHeight, tree.getNodeHeight(node), tree.getNodeHeight(parentNode), precision, rate, trueNoise);
+                                if (stateString != null) {
+                                    history.truncateUpper(timeUp);
+                                }
+                            }
 
-                        //setting up continuous trait values for heights in discrete trait history
-                        if (stateString != null) {
-                            history.setTraitsforHeights(traitUp,traitLow,precision,rate,trueNoise);
-                        }
+                            if (tree.getNodeHeight(node) < lowerHeight) {
+                                timeLow = lowerHeight;
+                                traitLow = imputeValue(trait, parentTrait, lowerHeight, tree.getNodeHeight(node), tree.getNodeHeight(parentNode), precision, rate, trueNoise);
+                                if (stateString != null) {
+                                    history.truncateLower(timeLow);
+                                }
+                            }
 
-                        double[] rootTrait = traitLikelihood.getTraitForNode(tree, tree.getRoot(), traitName);
-                        double timeFromRoot = (tree.getNodeHeight(tree.getRoot()) - timeLow);
+                            if (dimension > traitLow.length) {
+                                System.err.println("specified trait dimension for continuous trait summary, " + dimension + ", is > dimensionality of trait, " + traitLow.length + ". No trait summarized.");
+                            } else {
+                                traits.add(traitLow[(dimension - 1)]);
+                            }
 
-                        if (useGreatCircleDistances && (trait.length == 2)) { // Great Circle distance
-                            double distance;
+                            double time;
                             if (stateString != null) {
-                                distance = history.getStateGreatCircleDistance(stateString);
-                            }  else {
-                                distance = getGreatCircleDistance(traitLow,traitUp);
+                                time = history.getStateTime(stateString);
+//                            System.out.println("tine before = "+(timeUp - timeLow)+", time after= "+time);
+                            } else {
+                                time = timeUp - timeLow;
                             }
+                            treeLength += time;
 
-                            if (time > 0){
-                                treeDistance += distance;
-                                double dc = Math.pow(distance,2)/(4*time);
-                                diffusionCoefficients.add(dc);
-                                waDiffusionCoefficient +=  (dc*time);
-                                rates.add(distance/time);
+                            //setting up continuous trait values for heights in discrete trait history
+                            if (stateString != null) {
+                                history.setTraitsforHeights(traitUp, traitLow, precision, rate, trueNoise);
                             }
 
-                            SphericalPolarCoordinates rootCoord = new SphericalPolarCoordinates(rootTrait[0], rootTrait[1]);
-                            double tempDistanceFromRoot = rootCoord.distance(new SphericalPolarCoordinates(traitUp[0], traitUp[1]));
-                            if (tempDistanceFromRoot > totalMaxDistanceFromRoot){
-                                totalMaxDistanceFromRoot = tempDistanceFromRoot;
+                            double[] rootTrait = traitLikelihood.getTraitForNode(tree, tree.getRoot(), traitName);
+                            double timeFromRoot = (tree.getNodeHeight(tree.getRoot()) - timeLow);
+
+                            if (useGreatCircleDistances && (trait.length == 2)) { // Great Circle distance
+                                double distance;
                                 if (stateString != null) {
-                                    double[] stateTimeDistance = getStateTimeAndDistanceFromRoot(tree,node,timeLow,traitLikelihood,traitName,traitLow,precision,branchRates,true);
-                                    if (stateTimeDistance[0] > 0){
-                                        maxDistanceFromRoot = tempDistanceFromRoot*(stateTimeDistance[0]/timeFromRoot);
-                                        maxDistanceOverTimeFromRootWA = maxDistanceFromRoot/stateTimeDistance[0];
-                                        maxBranchDistanceFromRoot = stateTimeDistance[1];
-                                        maxBranchDistanceOverTimeFromRootWA = stateTimeDistance[1]/stateTimeDistance[0];
-                                    }
+                                    distance = history.getStateGreatCircleDistance(stateString);
                                 } else {
-                                    maxDistanceFromRoot = tempDistanceFromRoot;
-                                    maxDistanceOverTimeFromRootWA = tempDistanceFromRoot/timeFromRoot;
-                                    double[] timeDistance = getTimeAndDistanceFromRoot(tree, node, timeLow, traitLikelihood, traitName, traitLow, true);
-                                    maxBranchDistanceFromRoot = timeDistance[1];
-                                    maxBranchDistanceOverTimeFromRootWA = timeDistance[1]/timeDistance[0];
+                                    distance = getGreatCircleDistance(traitLow, traitUp);
+                                }
 
+                                if (time > 0) {
+                                    treeDistance += distance;
+                                    double dc = Math.pow(distance, 2) / (4 * time);
+                                    diffusionCoefficients.add(dc);
+                                    waDiffusionCoefficient += (dc * time);
+                                    rates.add(distance / time);
                                 }
-                                //distance between traitLow and traitUp for maxDistanceFromRoot
-                                if (timeUp == upperHeight) {
-                                    if (time > 0){
-                                        maxDistanceFromRoot = distance;
-                                        maxDistanceOverTimeFromRootWA = distance/time;
-                                        maxBranchDistanceFromRoot = distance;
-                                        maxBranchDistanceOverTimeFromRootWA = distance/time;
+
+                                SphericalPolarCoordinates rootCoord = new SphericalPolarCoordinates(rootTrait[0], rootTrait[1]);
+                                double tempDistanceFromRoot = rootCoord.distance(new SphericalPolarCoordinates(traitUp[0], traitUp[1]));
+                                if (tempDistanceFromRoot > totalMaxDistanceFromRoot) {
+                                    totalMaxDistanceFromRoot = tempDistanceFromRoot;
+                                    if (stateString != null) {
+                                        double[] stateTimeDistance = getStateTimeAndDistanceFromRoot(tree, node, timeLow, traitLikelihood, traitName, traitLow, precision, branchRates, true);
+                                        if (stateTimeDistance[0] > 0) {
+                                            maxDistanceFromRoot = tempDistanceFromRoot * (stateTimeDistance[0] / timeFromRoot);
+                                            maxDistanceOverTimeFromRootWA = maxDistanceFromRoot / stateTimeDistance[0];
+                                            maxBranchDistanceFromRoot = stateTimeDistance[1];
+                                            maxBranchDistanceOverTimeFromRootWA = stateTimeDistance[1] / stateTimeDistance[0];
+                                        }
+                                    } else {
+                                        maxDistanceFromRoot = tempDistanceFromRoot;
+                                        maxDistanceOverTimeFromRootWA = tempDistanceFromRoot / timeFromRoot;
+                                        double[] timeDistance = getTimeAndDistanceFromRoot(tree, node, timeLow, traitLikelihood, traitName, traitLow, true);
+                                        maxBranchDistanceFromRoot = timeDistance[1];
+                                        maxBranchDistanceOverTimeFromRootWA = timeDistance[1] / timeDistance[0];
+
+                                    }
+                                    //distance between traitLow and traitUp for maxDistanceFromRoot
+                                    if (timeUp == upperHeight) {
+                                        if (time > 0) {
+                                            maxDistanceFromRoot = distance;
+                                            maxDistanceOverTimeFromRootWA = distance / time;
+                                            maxBranchDistanceFromRoot = distance;
+                                            maxBranchDistanceOverTimeFromRootWA = distance / time;
+                                        }
                                     }
                                 }
-                            }
 
-                        } else {
-                            double distance;
-                            if (stateString != null) {
-                                distance = history.getStateNativeDistance(stateString);
                             } else {
-                                distance = getNativeDistance(traitLow, traitUp);
-                            }
-
-                            if (time > 0){
-                                treeDistance += distance;
-                                double dc = Math.pow(distance,2)/(4*time);
-                                diffusionCoefficients.add(dc);
-                                waDiffusionCoefficient += dc*time;
-                                rates.add(distance/time);
-                            }
-
-                            double tempDistanceFromRoot = getNativeDistance(traitLow, rootTrait);
-                            if (tempDistanceFromRoot > totalMaxDistanceFromRoot){
-                                totalMaxDistanceFromRoot = tempDistanceFromRoot;
+                                double distance;
                                 if (stateString != null) {
-                                    double[] stateTimeDistance = getStateTimeAndDistanceFromRoot(tree,node,timeLow,traitLikelihood,traitName,traitLow,precision,branchRates,false);
-                                    if (stateTimeDistance[0] > 0){
-                                        maxDistanceFromRoot = tempDistanceFromRoot*(stateTimeDistance[0]/timeFromRoot);
-                                        maxDistanceOverTimeFromRootWA = maxDistanceFromRoot/stateTimeDistance[0];
-                                        maxBranchDistanceFromRoot = stateTimeDistance[1];
-                                        maxBranchDistanceOverTimeFromRootWA = stateTimeDistance[1]/stateTimeDistance[0];
-                                    }
+                                    distance = history.getStateNativeDistance(stateString);
                                 } else {
-                                    maxDistanceFromRoot = tempDistanceFromRoot;
-                                    maxDistanceOverTimeFromRootWA = tempDistanceFromRoot/timeFromRoot;
-                                    double[] timeDistance = getTimeAndDistanceFromRoot(tree, node, timeLow, traitLikelihood, traitName, traitLow, false);
-                                    maxBranchDistanceFromRoot = timeDistance[1];
-                                    maxBranchDistanceOverTimeFromRootWA = timeDistance[1]/timeDistance[0];
+                                    distance = getNativeDistance(traitLow, traitUp);
+                                }
+
+                                if (time > 0) {
+                                    treeDistance += distance;
+                                    double dc = Math.pow(distance, 2) / (4 * time);
+                                    diffusionCoefficients.add(dc);
+                                    waDiffusionCoefficient += dc * time;
+                                    rates.add(distance / time);
                                 }
-                                //distance between traitLow and traitUp for maxDistanceFromRoot
-                                if (timeUp == upperHeight) {
-                                    if (time > 0){
-                                        maxDistanceFromRoot = distance;
-                                        maxDistanceOverTimeFromRootWA = distance/time;
-                                        maxBranchDistanceFromRoot = distance;
-                                        maxBranchDistanceOverTimeFromRootWA = distance/time;
+
+                                double tempDistanceFromRoot = getNativeDistance(traitLow, rootTrait);
+                                if (tempDistanceFromRoot > totalMaxDistanceFromRoot) {
+                                    totalMaxDistanceFromRoot = tempDistanceFromRoot;
+                                    if (stateString != null) {
+                                        double[] stateTimeDistance = getStateTimeAndDistanceFromRoot(tree, node, timeLow, traitLikelihood, traitName, traitLow, precision, branchRates, false);
+                                        if (stateTimeDistance[0] > 0) {
+                                            maxDistanceFromRoot = tempDistanceFromRoot * (stateTimeDistance[0] / timeFromRoot);
+                                            maxDistanceOverTimeFromRootWA = maxDistanceFromRoot / stateTimeDistance[0];
+                                            maxBranchDistanceFromRoot = stateTimeDistance[1];
+                                            maxBranchDistanceOverTimeFromRootWA = stateTimeDistance[1] / stateTimeDistance[0];
+                                        }
+                                    } else {
+                                        maxDistanceFromRoot = tempDistanceFromRoot;
+                                        maxDistanceOverTimeFromRootWA = tempDistanceFromRoot / timeFromRoot;
+                                        double[] timeDistance = getTimeAndDistanceFromRoot(tree, node, timeLow, traitLikelihood, traitName, traitLow, false);
+                                        maxBranchDistanceFromRoot = timeDistance[1];
+                                        maxBranchDistanceOverTimeFromRootWA = timeDistance[1] / timeDistance[0];
+                                    }
+                                    //distance between traitLow and traitUp for maxDistanceFromRoot
+                                    if (timeUp == upperHeight) {
+                                        if (time > 0) {
+                                            maxDistanceFromRoot = distance;
+                                            maxDistanceOverTimeFromRootWA = distance / time;
+                                            maxBranchDistanceFromRoot = distance;
+                                            maxBranchDistanceOverTimeFromRootWA = distance / time;
+                                        }
                                     }
                                 }
                             }
@@ -645,7 +676,89 @@ public class ContinuousDiffusionStatistic extends Statistic.Abstract {
     }
 
 
+    public boolean inClade(MultivariateTraitTree tree, NodeRef node, TaxonList taxonList) throws Tree.MissingTaxonException {
 
+        Set leafSubSet;
+        leafSubSet = Tree.Utils.getLeavesForTaxa(tree, taxonList);
+        NodeRef mrca = Tree.Utils.getCommonAncestorNode(tree, leafSubSet);
+        Set mrcaLeafSet =  Tree.Utils.getDescendantLeaves(tree,mrca);
+
+        Set nodeLeafSet =  Tree.Utils.getDescendantLeaves(tree,node);
+
+        if (!nodeLeafSet.isEmpty()){
+            nodeLeafSet.removeAll(mrcaLeafSet);
+        }
+
+        if (nodeLeafSet.isEmpty()){
+            return true;
+        }  else {
+
+        }
+        return false;
+    }
+    private static boolean onAncestralPathTaxa(Tree tree, NodeRef node, TaxonList taxonList) throws Tree.MissingTaxonException {
+
+        if (tree.isExternal(node)) return false;
+
+        Set leafSet = Tree.Utils.getDescendantLeaves(tree, node);
+        int size = leafSet.size();
+
+        Set targetSet = Tree.Utils.getLeavesForTaxa(tree, taxonList);
+        leafSet.retainAll(targetSet);
+
+        if (leafSet.size() > 0) {
+
+            // if all leaves below are in target then check just above.
+            if (leafSet.size() == size) {
+
+                Set superLeafSet = Tree.Utils.getDescendantLeaves(tree, tree.getParent(node));
+                superLeafSet.removeAll(targetSet);
+
+                // the branch is on ancestral path if the super tree has some non-targets in it
+                return (superLeafSet.size() > 0);
+
+            } else return true;
+
+        } else return false;
+    }
+
+    //the sum of the branchLength for all the descendent nodes for a particular node should be larger than a user-specified value
+    private static boolean onAncestralPathTime(Tree tree, NodeRef node, double time) {
+
+        double maxDescendentTime = 0;
+
+        Set leafSet = Tree.Utils.getExternalNodes(tree, node);
+        Set nodeSet = Tree.Utils.getExternalNodes(tree, node);
+
+        Iterator iter = leafSet.iterator();
+
+        while (iter.hasNext()) {
+//            System.out.println("found node set");
+            NodeRef currentNode = (NodeRef)iter.next();
+
+            while (tree.getNodeHeight(node) > tree.getNodeHeight(currentNode)) {
+//                System.out.println("found node height");
+                if (!nodeSet.contains(currentNode)) {
+//                    System.out.println("found node");
+                    nodeSet.add(currentNode);
+                }
+                currentNode = tree.getParent(currentNode);
+            }
+        }
+
+        Iterator nodeIter = nodeSet.iterator();
+
+        while (nodeIter.hasNext()) {
+            NodeRef testNode = (NodeRef)nodeIter.next();
+            maxDescendentTime += tree.getBranchLength(testNode);
+        }
+
+        if (maxDescendentTime > time){
+            return true;
+        }   else {
+            return false;
+        }
+    }
 
 //    private int getStateInt(String state){
 //        int returnInt = -1;
@@ -685,6 +798,12 @@ public class ContinuousDiffusionStatistic extends Statistic.Abstract {
         WAVEFRONT_RATE,
     }
 
+    enum BranchSet {
+        ALL,
+        CLADE,
+        BACKBONE, //TODO: to implement
+    }
+
     public static XMLObjectParser PARSER = new AbstractXMLObjectParser() {
 
         public String getParserName() {
@@ -785,21 +904,57 @@ public class ContinuousDiffusionStatistic extends Statistic.Abstract {
                 summaryStat = summaryStatistic.DIFFUSION_RATE;
             }
 
+            BranchSet branchset;
+            String branchMode = xo.getAttribute(BRANCHSET, ALL);
+            if (branchMode.equals(CLADE)) {
+                branchset = BranchSet.CLADE;
+            } else if (branchMode.equals(BACKBONE)) {
+                branchset = BranchSet.BACKBONE;
+            } else if (branchMode.equals(ALL)) {
+                branchset = BranchSet.ALL;
+            } else {
+                System.err.println(name+": unknown branchset: "+branchMode+". Reverting to all branches.");
+                branchset = BranchSet.ALL;
+            }
+
+            TaxonList taxonList = null;
+            double backboneTime = 0;
+            if  (branchset.equals(BranchSet.CLADE)){
+                taxonList = (TaxonList) xo.getChild(TaxonList.class);
+                if (taxonList==null){
+                    System.err.println("empty taxon list in continuousDiffusionStatistic despite 'clade' branchSet attribute");
+                }
+            } else if (branchset.equals(BranchSet.BACKBONE)){
+                taxonList = (TaxonList) xo.getChild(TaxonList.class);
+                if (xo.hasAttribute(BACKBONE_TIME)){
+                    backboneTime = xo.getAttribute(BACKBONE_TIME, 0.0);
+                    if (taxonList!=null){
+                        System.err.println("both backbone time and taxon list provided for backbone definition in continuousDiffusionStatistic. Ignoring taxon list...");
+                    }
+                }  else if (taxonList==null){
+                    System.err.println("empty taxon list and no backboneTime in continuousDiffusionStatistic despite 'backbone' branchSet attribute. Ignoring 'backbone' branchSet...");
+                }
+            } else if (branchset.equals(BranchSet.ALL)){
+                taxonList = (TaxonList) xo.getChild(TaxonList.class);
+                if (taxonList!=null){
+                    System.err.println("taxon list provided in continuousDiffusionStatistic but no 'clade' or 'backbone' branchSet attribute?? Ignoring taxon list...");
+                }
+                if (xo.hasAttribute(BACKBONE_TIME)){
+                    System.err.println("backoneTime provided in continuousDiffusionStatistic but no 'backbone' branchSet attribute?? Ignoring backboneTime list...");
+                }
+            }
+
 
             String stateString = null;
             if (xo.hasAttribute(DISCRETE_STATE)){
                 stateString = xo.getStringAttribute(DISCRETE_STATE);
             }
 
-//            int stateInt = 0;
-//            if (xo.hasAttribute(STATE_NUMBER)){
-//                stateInt = xo.getIntegerAttribute(STATE_NUMBER);
-//            }
-
             List<AbstractMultivariateTraitLikelihood> traitLikelihoods = new ArrayList<AbstractMultivariateTraitLikelihood>();
             MarkovJumpsBeagleTreeLikelihood mjtl = null;
 
             for (int i = 0; i < xo.getChildCount(); i++) {
+//                System.err.println("child is = "+xo.getChildName(i));
                 if (xo.getChild(i) instanceof AbstractMultivariateTraitLikelihood) {
                     AbstractMultivariateTraitLikelihood amtl = (AbstractMultivariateTraitLikelihood) xo.getChild(i);
                     traitLikelihoods.add(amtl);
@@ -809,13 +964,6 @@ public class ContinuousDiffusionStatistic extends Statistic.Abstract {
                 }
             }
 
-//            if (stateString == null && mjtl != null) {
-//                System.err.println("markovJumpsTreeLikelihood provided but not state specified for state-specific summaries.. ignoring markovJumpsTreeLikelihood");
-//                mjtl = null;
-//            }  else if (stateString != null && mjtl == null){
-//                System.err.println("markovJumpsTreeLikelihood provided but not state specified for state-specific summaries.. ignoring state");
-//                stateString = null;
-//            }
             if (stateString == null && mjtl != null) {
                 System.err.println(name+": markovJumpsTreeLikelihood specified for state-specific summaries but no state string.. ignoring markovJumpsTreeLikelihood");
                 mjtl = null;
@@ -850,7 +998,7 @@ public class ContinuousDiffusionStatistic extends Statistic.Abstract {
 
 
 
-            return new ContinuousDiffusionStatistic(name, traitLikelihoods, greatCircleDistances, averageMode, summaryStat, upperHeight, lowerHeight, lowerHeights, cumulative, trueNoise, dimension, stateString, mjtl);
+            return new ContinuousDiffusionStatistic(name, traitLikelihoods, greatCircleDistances, averageMode, summaryStat, upperHeight, lowerHeight, lowerHeights, cumulative, trueNoise, dimension, taxonList, branchset, backboneTime, stateString, mjtl);
         }
 
         //************************************************************************
@@ -877,10 +1025,12 @@ public class ContinuousDiffusionStatistic extends Statistic.Abstract {
                 AttributeRule.newStringRule(DISCRETE_STATE,true),
                 AttributeRule.newDoubleRule(HEIGHT_UPPER, true),
                 AttributeRule.newDoubleRule(HEIGHT_LOWER, true),
-                AttributeRule.newStringRule(HEIGHT_LOWER_SERIE,true),
+                AttributeRule.newStringRule(HEIGHT_LOWER_SERIE, true),
                 AttributeRule.newDoubleRule(DIMENSION, true),
                 AttributeRule.newBooleanRule(CUMULATIVE, true),
                 AttributeRule.newBooleanRule(NOISE, true),
+                AttributeRule.newStringRule(BRANCHSET, true),
+                new ElementRule(TaxonList.class,true),
                 new ElementRule(AbstractMultivariateTraitLikelihood.class, 1, Integer.MAX_VALUE),
                 new ElementRule(MarkovJumpsBeagleTreeLikelihood.class, true)
         };
@@ -898,6 +1048,9 @@ public class ContinuousDiffusionStatistic extends Statistic.Abstract {
     private boolean cumulative;
     private boolean trueNoise;
     private int dimension;
+    private TaxonList taxonList;
+    private BranchSet branchset;
+    private double backboneTime;
 
     private class History {
 
diff --git a/src/dr/evomodel/continuous/ContinuousLikelihood.java b/src/dr/evomodel/continuous/ContinuousLikelihood.java
index ff4bb6b..835a862 100644
--- a/src/dr/evomodel/continuous/ContinuousLikelihood.java
+++ b/src/dr/evomodel/continuous/ContinuousLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * ContinuousLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/DebugableIntegratedMultivariateTraitLikelihood.java b/src/dr/evomodel/continuous/DebugableIntegratedMultivariateTraitLikelihood.java
index 9dcaf9e..fe097a6 100644
--- a/src/dr/evomodel/continuous/DebugableIntegratedMultivariateTraitLikelihood.java
+++ b/src/dr/evomodel/continuous/DebugableIntegratedMultivariateTraitLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * DebugableIntegratedMultivariateTraitLikelihood.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/DiffusionModel.java b/src/dr/evomodel/continuous/DiffusionModel.java
index b11c992..04c8a35 100644
--- a/src/dr/evomodel/continuous/DiffusionModel.java
+++ b/src/dr/evomodel/continuous/DiffusionModel.java
@@ -1,7 +1,7 @@
 /*
  * DiffusionModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/continuous/DiffusionRateCovarianceStatistic.java b/src/dr/evomodel/continuous/DiffusionRateCovarianceStatistic.java
index f737dc0..db7f7ff 100644
--- a/src/dr/evomodel/continuous/DiffusionRateCovarianceStatistic.java
+++ b/src/dr/evomodel/continuous/DiffusionRateCovarianceStatistic.java
@@ -1,7 +1,7 @@
 /*
  * DiffusionRateCovarianceStatistic.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/DiffusionRateStatistic.java b/src/dr/evomodel/continuous/DiffusionRateStatistic.java
index ec61608..cb61d5b 100644
--- a/src/dr/evomodel/continuous/DiffusionRateStatistic.java
+++ b/src/dr/evomodel/continuous/DiffusionRateStatistic.java
@@ -1,7 +1,7 @@
 /*
  * DiffusionRateStatistic.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/FullyConjugateMultivariateTraitLikelihood.java b/src/dr/evomodel/continuous/FullyConjugateMultivariateTraitLikelihood.java
index eda0b43..73b1874 100644
--- a/src/dr/evomodel/continuous/FullyConjugateMultivariateTraitLikelihood.java
+++ b/src/dr/evomodel/continuous/FullyConjugateMultivariateTraitLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * FullyConjugateMultivariateTraitLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -27,17 +27,24 @@ package dr.evomodel.continuous;
 
 import dr.evolution.tree.MultivariateTraitTree;
 import dr.evolution.tree.NodeRef;
+import dr.evolution.tree.Tree;
 import dr.evomodel.branchratemodel.BranchRateModel;
 import dr.inference.model.CompoundParameter;
 import dr.inference.model.Model;
 import dr.inference.model.Parameter;
+import dr.math.KroneckerOperation;
 import dr.math.distributions.MultivariateNormalDistribution;
+import dr.math.distributions.NormalDistribution;
 import dr.math.distributions.WishartSufficientStatistics;
 import dr.math.interfaces.ConjugateWishartStatisticsProvider;
+import dr.math.matrixAlgebra.IllegalDimension;
 import dr.math.matrixAlgebra.Matrix;
 import dr.math.matrixAlgebra.Vector;
+import dr.xml.Reportable;
 
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 /**
  * Integrated multivariate trait likelihood that assumes a fully-conjugate prior on the root.
@@ -46,7 +53,7 @@ import java.util.List;
  *
  * @author Marc A. Suchard
  */
-public class FullyConjugateMultivariateTraitLikelihood extends IntegratedMultivariateTraitLikelihood implements ConjugateWishartStatisticsProvider {
+public class FullyConjugateMultivariateTraitLikelihood extends IntegratedMultivariateTraitLikelihood implements ConjugateWishartStatisticsProvider, Reportable {
 
     public FullyConjugateMultivariateTraitLikelihood(String traitName,
                                                      MultivariateTraitTree treeModel,
@@ -277,9 +284,13 @@ public class FullyConjugateMultivariateTraitLikelihood extends IntegratedMultiva
         MultivariateNormalDistribution mvn = new MultivariateNormalDistribution(rootPriorMean, newPrec);
         double logPdf = mvn.logPdf(conditionalRootMean);
 
-        System.err.println("Got here subclass: " + loglikelihood);
-        System.err.println("logValue         : " + (logRemainders + logPdf));
-        System.err.println("");
+        if (Math.abs(loglikelihood - logRemainders - logPdf) > 1E-3) {
+
+            System.err.println("Got here subclass: " + loglikelihood);
+            System.err.println("logValue         : " + (logRemainders + logPdf));
+            System.err.println("logRemainder = " + logRemainders);
+            System.err.println("");
+        }
 //        System.err.println("logRemainders    : " + logRemainders);
 //        System.err.println("logPDF           : " + logPdf);
 //        System.exit(-1);
@@ -382,4 +393,170 @@ public class FullyConjugateMultivariateTraitLikelihood extends IntegratedMultiva
     protected boolean computeWishartStatistics = false;
     private double[] ascertainedData = null;
     private static final boolean DEBUG_ASCERTAINMENT = false;
+
+    @Override
+    public String getReport() {
+        StringBuilder sb = new StringBuilder();
+//        sb.append(this.g)
+//        System.err.println("Hello");
+        sb.append("Tree:\n");
+        sb.append(treeModel.toString());
+        sb.append("\n\n");
+
+        double[][] treeVariance = computeTreeVariance(true);
+        double[][] traitPrecision = getDiffusionModel().getPrecisionmatrix();
+        Matrix traitVariance = new Matrix(traitPrecision).inverse();
+
+        double[][] jointVariance = KroneckerOperation.product(treeVariance, traitVariance.toComponents());
+
+        sb.append("Tree variance:\n");
+        sb.append(new Matrix(treeVariance));
+        sb.append("\n\n");
+        sb.append("Trait variance:\n");
+        sb.append(traitVariance);
+        sb.append("\n\n");
+        sb.append("Joint variance:\n");
+        sb.append(new Matrix(jointVariance));
+        sb.append("\n\n");
+
+        double[] data = new double[jointVariance.length];
+        System.arraycopy(meanCache, 0, data, 0, jointVariance.length);
+
+        sb.append("Data:\n");
+        sb.append(new Vector(data));
+        sb.append("\n\n");
+
+        MultivariateNormalDistribution mvn = new MultivariateNormalDistribution(new double[data.length], new Matrix(jointVariance).inverse().toComponents());
+        double logDensity = mvn.logPdf(data);
+        sb.append("logLikelihood: " + getLogLikelihood() + " == " + logDensity + "\n\n");
+
+        final WishartSufficientStatistics sufficientStatistics = getWishartStatistics();
+        final double[][] outerProducts = sufficientStatistics.getScaleMatrix();
+
+        sb.append("Outer-products (DP):\n");
+        sb.append(new Matrix(outerProducts));
+        sb.append(sufficientStatistics.getDf() + "\n");
+
+        Matrix treePrecision = new Matrix(treeVariance).inverse();
+        final int n = data.length / traitPrecision.length;
+        final int p = traitPrecision.length;
+        double[][] tmp = new double[n][p];
+
+        for (int i = 0; i < n; ++i) {
+            for (int j = 0; j < p; ++j) {
+                tmp[i][j] = data[i * p + j];
+            }
+        }
+        Matrix y = new Matrix(tmp);
+
+        Matrix S = null;
+        try {
+            S = y.transpose().product(treePrecision).product(y); // Using Matrix-Normal form
+        } catch (IllegalDimension illegalDimension) {
+            illegalDimension.printStackTrace();
+        }
+        sb.append("Outer-products (from tree variance:\n");
+        sb.append(S);
+        sb.append("\n\n");
+
+        return sb.toString();
+    }
+
+
+    private double[][] computeTreeVariance(boolean includeRoot) {
+        final int tipCount = treeModel.getExternalNodeCount();
+        double[][] variance = new double[tipCount][tipCount];
+
+        for (int i = 0; i < tipCount; i++) {
+
+            // Fill in diagonal
+            double marginalTime = getRescaledLengthToRoot(treeModel.getExternalNode(i));
+            variance[i][i] = marginalTime;
+
+            // Fill in upper right triangle,
+
+            for (int j = i + 1; j < tipCount; j++) {
+                NodeRef mrca = findMRCA(i, j);
+                variance[i][j] = getRescaledLengthToRoot(mrca);
+            }
+        }
+
+        // Make symmetric
+        for (int i = 0; i < tipCount; i++) {
+            for (int j = i + 1; j < tipCount; j++) {
+                variance[j][i] = variance[i][j];
+            }
+        }
+
+        if (DEBUG) {
+            System.err.println("");
+            System.err.println("New tree conditional variance:\n" + new Matrix(variance));
+        }
+
+        variance = removeMissingTipsInTreeVariance(variance); // Automatically prune missing tips
+
+        if (DEBUG) {
+            System.err.println("");
+            System.err.println("New tree (trimmed) conditional variance:\n" + new Matrix(variance));
+        }
+
+        if (includeRoot) {
+            for (int i = 0; i < variance.length; ++i) {
+                for (int j = 0; j < variance[i].length; ++j) {
+                    variance[i][j] += 1.0 / getPriorSampleSize();
+                }
+            }
+        }
+
+        return variance;
+    }
+
+    private NodeRef findMRCA(int iTip, int jTip) {
+        Set<String> leafNames = new HashSet<String>();
+        leafNames.add(treeModel.getTaxonId(iTip));
+        leafNames.add(treeModel.getTaxonId(jTip));
+        return Tree.Utils.getCommonAncestorNode(treeModel, leafNames);
+    }
+
+    private double[][] removeMissingTipsInTreeVariance(double[][] variance) {
+
+         final int tipCount = treeModel.getExternalNodeCount();
+         final int nonMissing = countNonMissingTips();
+
+         if (nonMissing == tipCount) { // Do nothing
+             return variance;
+         }
+
+         double[][] outVariance = new double[nonMissing][nonMissing];
+
+         int iReal = 0;
+         for (int i = 0; i < tipCount; i++) {
+             if (!missingTraits.isCompletelyMissing(i)) {
+
+                 int jReal = 0;
+                 for (int j = 0; j < tipCount; j++) {
+                     if (!missingTraits.isCompletelyMissing(i)) {
+
+                         outVariance[iReal][jReal] = variance[i][j];
+
+                         jReal++;
+                     }
+                 }
+                 iReal++;
+             }
+         }
+         return outVariance;
+     }
+
+    private int countNonMissingTips() {
+        int tipCount = treeModel.getExternalNodeCount();
+        for (int i = 0; i < tipCount; i++) {
+            if (missingTraits.isCompletelyMissing(i)) {
+                tipCount--;
+            }
+        }
+        return tipCount;
+    }
+
+
 }
diff --git a/src/dr/evomodel/continuous/GaussianProcessFromTree.java b/src/dr/evomodel/continuous/GaussianProcessFromTree.java
index a67b5ca..9f3667a 100644
--- a/src/dr/evomodel/continuous/GaussianProcessFromTree.java
+++ b/src/dr/evomodel/continuous/GaussianProcessFromTree.java
@@ -1,7 +1,7 @@
 /*
  * GaussianProcessFromTree.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -26,6 +26,8 @@
 package dr.evomodel.continuous;
 
 import dr.evolution.tree.NodeRef;
+import dr.inference.model.Likelihood;
+import dr.inference.model.Parameter;
 import dr.math.distributions.GaussianProcessRandomGenerator;
 import dr.math.distributions.MultivariateNormalDistribution;
 import dr.math.matrixAlgebra.CholeskyDecomposition;
@@ -44,16 +46,20 @@ public class GaussianProcessFromTree implements GaussianProcessRandomGenerator {
         this.traitModel = traitModel;
     }
 
+    public Likelihood getLikelihood() {
+        return traitModel;
+    }
+
     //    boolean firstTime=true;
     public double[] nextRandomFast() {
 
         double[] random = new double[traitModel.getTreeModel().getExternalNodeCount()*traitModel.getDimTrait()];
         NodeRef root = traitModel.getTreeModel().getRoot();
         double[] traitStart=traitModel.getPriorMean();
-        double[][] precisionCholesky=null;
+        double[][] varianceCholesky=null;
         double[][] temp= new SymmetricMatrix(traitModel.getDiffusionModel().getPrecisionmatrix()).inverse().toComponents();
         try {
-            precisionCholesky = (new CholeskyDecomposition(temp).getL());
+            varianceCholesky = (new CholeskyDecomposition(temp).getL());
         } catch (IllegalDimension illegalDimension) {
             illegalDimension.printStackTrace();
         }
@@ -83,28 +89,28 @@ public class GaussianProcessFromTree implements GaussianProcessRandomGenerator {
 //            }
 //            firstTime=false;
 //        }
-        nextRandomFast(traitStart, root, random, precisionCholesky);
+        nextRandomFast(traitStart, root, random, varianceCholesky);
 //        }
         return random;
     }
 
-    private void nextRandomFast(double[] currentValue, NodeRef currentNode, double[] random, double[][] precisionCholesky) {
-        double rescaledLength;
-        rescaledLength = traitModel.getRescaledBranchLengthForPrecision(currentNode);
-        double[] draw= MultivariateNormalDistribution.nextMultivariateNormalCholesky(currentValue, precisionCholesky);
+    private void nextRandomFast(double[] currentValue, NodeRef currentNode, double[] random, double[][] varianceCholesky) {
+
+        double rescaledLength = (traitModel.getTreeModel().isRoot(currentNode)) ?
+            1.0 / traitModel.getPriorSampleSize() :
+                traitModel.getRescaledBranchLengthForPrecision(currentNode);
+
+        double scale = Math.sqrt(rescaledLength);
+
+        // draw ~ MNV(mean = currentVale, variance = scale * scale * L^t L)
+        double[] draw = MultivariateNormalDistribution.nextMultivariateNormalCholesky(currentValue, varianceCholesky, scale);
+
         if (traitModel.getTreeModel().isExternal(currentNode)) {
-            //System.out.println(currentNode.toString());
-            for (int i = 0; i <currentValue.length ; i++) {
-                random[currentNode.getNumber()*currentValue.length+i] = currentValue[i] + draw[i] * Math.sqrt(rescaledLength);
-            }
+            System.arraycopy(draw, 0, random, currentNode.getNumber() * draw.length, draw.length);
         } else {
             int childCount = traitModel.getTreeModel().getChildCount(currentNode);
-            double[] newValue=new double[currentValue.length];
-            for (int i = 0; i <currentValue.length ; i++) {
-                newValue[i] = currentValue[i] +  draw[i] * Math.sqrt(rescaledLength);
-            }
             for (int i = 0; i < childCount; i++) {
-                nextRandomFast(newValue, traitModel.getTreeModel().getChild(currentNode, i), random, precisionCholesky);
+                nextRandomFast(draw, traitModel.getTreeModel().getChild(currentNode, i), random, varianceCholesky);
             }
         }
     }
@@ -116,6 +122,14 @@ public class GaussianProcessFromTree implements GaussianProcessRandomGenerator {
 
     @Override
     public double logPdf(Object x) {
-        return 0;
+
+        double[] v = (double[]) x;
+        Parameter variable = traitModel.getTraitParameter();
+        for (int i = 0; i < v.length; ++i) {
+            variable.setParameterValueQuietly(i, v[i]);
+        }
+        variable.fireParameterChangedEvent();
+
+        return traitModel.getLogLikelihood();
     }
 }
diff --git a/src/dr/evomodel/continuous/GibbsIndependentCoalescentOperator.java b/src/dr/evomodel/continuous/GibbsIndependentCoalescentOperator.java
index a181bc2..0d0d6a1 100644
--- a/src/dr/evomodel/continuous/GibbsIndependentCoalescentOperator.java
+++ b/src/dr/evomodel/continuous/GibbsIndependentCoalescentOperator.java
@@ -1,7 +1,7 @@
 /*
  * GibbsIndependentCoalescentOperator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/GreatCircleDiffusionModel.java b/src/dr/evomodel/continuous/GreatCircleDiffusionModel.java
index 759fb2c..c7b1ae9 100644
--- a/src/dr/evomodel/continuous/GreatCircleDiffusionModel.java
+++ b/src/dr/evomodel/continuous/GreatCircleDiffusionModel.java
@@ -1,7 +1,7 @@
 /*
  * GreatCircleDiffusionModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/continuous/IndependentCoalescentSampler.java b/src/dr/evomodel/continuous/IndependentCoalescentSampler.java
index 8558038..595cc9a 100644
--- a/src/dr/evomodel/continuous/IndependentCoalescentSampler.java
+++ b/src/dr/evomodel/continuous/IndependentCoalescentSampler.java
@@ -1,7 +1,7 @@
 /*
  * IndependentCoalescentSampler.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/InhibitionAssayLikelihood.java b/src/dr/evomodel/continuous/InhibitionAssayLikelihood.java
index e701901..d8b9013 100644
--- a/src/dr/evomodel/continuous/InhibitionAssayLikelihood.java
+++ b/src/dr/evomodel/continuous/InhibitionAssayLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * InhibitionAssayLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/continuous/IntegratedMultivariateTraitLikelihood.java b/src/dr/evomodel/continuous/IntegratedMultivariateTraitLikelihood.java
index 959ac03..0580e6c 100644
--- a/src/dr/evomodel/continuous/IntegratedMultivariateTraitLikelihood.java
+++ b/src/dr/evomodel/continuous/IntegratedMultivariateTraitLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * IntegratedMultivariateTraitLikelihood.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -36,6 +36,7 @@ import dr.inference.model.Parameter;
 import dr.inference.model.Variable;
 import dr.math.distributions.MultivariateNormalDistribution;
 import dr.math.distributions.WishartSufficientStatistics;
+import dr.math.matrixAlgebra.IllegalDimension;
 import dr.math.matrixAlgebra.Matrix;
 import dr.math.matrixAlgebra.SymmetricMatrix;
 import dr.math.matrixAlgebra.Vector;
@@ -239,12 +240,25 @@ public abstract class IntegratedMultivariateTraitLikelihood extends AbstractMult
         citations.add(
                 new Citation(
                         new Author[]{
-                                new Author("O", "Pybus"),
+                                new Author("OG", "Pybus"),
+                                new Author("MA", "Suchard"),
                                 new Author("P", "Lemey"),
+                                new Author("F", "Bernadin"),
                                 new Author("A", "Rambaut"),
-                                new Author("MA", "Suchard")
+                                new Author("FW", "Crawford"),
+                                new Author("RR", "Gray"),
+                                new Author("N", "Arinaminpathy"),
+                                new Author("S", "Stramer"),
+                                new Author("MP", "Busch"),
+                                new Author("E", "Delwart")
+
                         },
-                        Citation.Status.IN_PREPARATION
+                        "Unifying the spatial epidemiology and evolution of emerging epidemics",
+                        2012,
+                        "Proceedings of the National Academy of Sciences",
+                        109,
+                        15066, 15071,
+                        Citation.Status.PUBLISHED
                 )
         );
         return citations;
@@ -266,11 +280,7 @@ public abstract class IntegratedMultivariateTraitLikelihood extends AbstractMult
         final boolean computeWishartStatistics = getComputeWishartSufficientStatistics();
 
         if (computeWishartStatistics) {
-//            if (wishartStatistics == null) {
             wishartStatistics = new WishartSufficientStatistics(dimTrait);
-//            } else {
-//                wishartStatistics.clear();
-//            }
         }
 
         // Use dynamic programming to compute conditional likelihoods at each internal node
@@ -360,6 +370,16 @@ public abstract class IntegratedMultivariateTraitLikelihood extends AbstractMult
         if (DEBUG_PNAS) {
             checkLogLikelihood(logLikelihood, sumLogRemainders(), conditionalRootMean,
                     conditionalRootPrecision, traitPrecision);
+
+            // Check log remainder densities
+
+            for (int i = 0; i < logRemainderDensityCache.length; ++i) {
+                if (logRemainderDensityCache[i] < -1E10) {
+                    System.err.println(logRemainderDensityCache[i] + " @ " + i);
+                }
+
+            }
+
         }
 
         areStatesRedrawn = false;  // Should redraw internal node states when needed
@@ -573,6 +593,28 @@ public abstract class IntegratedMultivariateTraitLikelihood extends AbstractMult
                             - 0.5 * (childSS0 + childSS1 - crossSS)
                             // changeou
                             - dimTrait * (Math.log(OUFactor0) + Math.log(OUFactor1));
+
+
+            if (logRemainderDensityCache[thisIndex] > 1E2) {
+                System.err.println(thisIndex);
+                System.err.println(logRemainderDensityCache[thisIndex]);
+                System.err.println("rP = " + remainderPrecision);
+                System.err.println("p0 = " + precision0);
+                System.err.println("p1 = " + precision1 + "\n");
+                System.err.println(new Matrix(precisionMatrix));
+                System.err.println(childSS0);
+                System.err.println(childSS1);
+                System.err.println(crossSS);
+
+
+                for (int i = 0; i < dimTrait; ++i) {
+                    System.err.println("\t"
+                                    + cacheHelper.getCorrectedMeanCache()[childOffset0 + 0 * dimTrait + i] + " "
+                                    + cacheHelper.getCorrectedMeanCache()[childOffset1 + 0 * dimTrait + i]
+                    );
+                }
+                System.exit(-1);
+            }
             //               double tempnum = childSS0 + childSS1 - crossSS;
             //   System.err.println("childSS0 + childSS1 - crossSS:  " + tempnum);
         }
@@ -595,33 +637,176 @@ public abstract class IntegratedMultivariateTraitLikelihood extends AbstractMult
 
         final double[][] outerProduct = wishartStatistics.getScaleMatrix();
 
+//        for (int k = 0; k < numData; k++) {
+//
+//            for (int i = 0; i < dimTrait; i++) {
+//
+//                // final double wChild0i = meanCache[childOffset0 + k * dimTrait + i] * precision0;
+//                // final double wChild1i = meanCache[childOffset1 + k * dimTrait + i] * precision1;
+//                final double wChild0i = cacheHelper.getCorrectedMeanCache()[childOffset0 + k * dimTrait + i] * precision0;
+//                final double wChild1i = cacheHelper.getCorrectedMeanCache()[childOffset1 + k * dimTrait + i] * precision1;
+//
+//                for (int j = 0; j < dimTrait; j++) {
+//
+//                    //final double child0j = meanCache[childOffset0 + k * dimTrait + j];
+//                    //final double child1j = meanCache[childOffset1 + k * dimTrait + j];
+//                    final double child0j = cacheHelper.getCorrectedMeanCache()[childOffset0 + k * dimTrait + j];
+//                    final double child1j = cacheHelper.getCorrectedMeanCache()[childOffset1 + k * dimTrait + j];
+//
+////                    outerProduct[i][j] += wChild0i * child0j;
+////                    outerProduct[i][j] += wChild1i * child1j;
+////
+////                    //outerProduct[i][j] -= (wChild0i + wChild1i) * meanCache[thisOffset + k * dimTrait + j];
+////                    outerProduct[i][j] -= (wChild0i + wChild1i) * cacheHelper.getMeanCache()[thisOffset + k * dimTrait + j];
+//                    outerProduct[i][j] += wChild0i * child0j;
+//                    outerProduct[i][j] += wChild1i * child1j;
+//
+//                    //outerProduct[i][j] -= (wChild0i + wChild1i) * meanCache[thisOffset + k * dimTrait + j];
+//                    outerProduct[i][j] -= (wChild0i + wChild1i) * cacheHelper.getMeanCache()[thisOffset + k * dimTrait + j];
+//                }
+//            }
+//        }
+
+//        final double[][] increment = new double[dimTrait][dimTrait];
+//
+//         for (int k = 0; k < numData; k++) {
+//
+//            for (int i = 0; i < dimTrait; i++) {
+//
+//                final double child0i = cacheHelper.getCorrectedMeanCache()[childOffset0 + k * dimTrait + i];
+//                final double child1i = cacheHelper.getCorrectedMeanCache()[childOffset1 + k * dimTrait + i];
+//                final double nodei = cacheHelper.getMeanCache()[thisOffset + k * dimTrait + i];
+//
+//                for (int j = 0; j < dimTrait; j++) {
+//                    final double child0j = cacheHelper.getCorrectedMeanCache()[childOffset0 + k * dimTrait + j];
+//                    final double child1j = cacheHelper.getCorrectedMeanCache()[childOffset1 + k * dimTrait + j];
+//                    final double nodej = cacheHelper.getMeanCache()[thisOffset + k * dimTrait + j];
+//
+//                    final double inc =
+//                            (child0i * child0j - nodei * nodej) * precision0 +
+//                                    (child1i * child1j - nodei * nodej) * precision1;
+//
+//                    increment[i][j] += inc;
+////                    outerProduct[i][j] += inc;
+//                }
+//            }
+//        }
+
+//        final double[][] increment2 = new double[dimTrait][dimTrait];
+//
+//
+//        for (int k = 0; k < numData; k++) {
+//
+//            for (int i = 0; i < dimTrait; i++) {
+//
+//                final double child0i = cacheHelper.getCorrectedMeanCache()[childOffset0 + k * dimTrait + i];
+//                final double child1i = cacheHelper.getCorrectedMeanCache()[childOffset1 + k * dimTrait + i];
+////               final double nodei = cacheHelper.getMeanCache()[thisOffset + k * dimTrait + i];
+//
+//                for (int j = 0; j < dimTrait; j++) {
+//                    final double child0j = cacheHelper.getCorrectedMeanCache()[childOffset0 + k * dimTrait + j];
+//                    final double child1j = cacheHelper.getCorrectedMeanCache()[childOffset1 + k * dimTrait + j];
+////                   final double nodej = cacheHelper.getMeanCache()[thisOffset + k * dimTrait + j];
+//
+//                    final double inc = (child0i * child0j + child1i * child1j
+//                            - child0i * child1j -  child1i * child0j) * weight;
+//
+//                    increment2[i][j] += inc;
+//                }
+//            }
+//        }
+//
+//        final double[][] increment3 = new double[dimTrait][dimTrait];
+
+        if (precision0 == 0.0 || precision1 == 0.0) {
+            System.err.println("ZERO PRECISION");
+//            System.exit(-1);
+        }
+
+        if (precision0 < 1E-16 || precision1 < 1E-16) {
+            System.err.println("LOW PRECISION");
+        }
+
+        final double weight = precision0 * precision1 / (precision0 + precision1);
+
         for (int k = 0; k < numData; k++) {
 
             for (int i = 0; i < dimTrait; i++) {
 
-                // final double wChild0i = meanCache[childOffset0 + k * dimTrait + i] * precision0;
-                // final double wChild1i = meanCache[childOffset1 + k * dimTrait + i] * precision1;
-                final double wChild0i = cacheHelper.getCorrectedMeanCache()[childOffset0 + k * dimTrait + i] * precision0;
-                final double wChild1i = cacheHelper.getCorrectedMeanCache()[childOffset1 + k * dimTrait + i] * precision1;
+                final double child0i = cacheHelper.getCorrectedMeanCache()[childOffset0 + k * dimTrait + i];
+                final double child1i = cacheHelper.getCorrectedMeanCache()[childOffset1 + k * dimTrait + i];
 
                 for (int j = 0; j < dimTrait; j++) {
-
-                    //final double child0j = meanCache[childOffset0 + k * dimTrait + j];
-                    //final double child1j = meanCache[childOffset1 + k * dimTrait + j];
                     final double child0j = cacheHelper.getCorrectedMeanCache()[childOffset0 + k * dimTrait + j];
                     final double child1j = cacheHelper.getCorrectedMeanCache()[childOffset1 + k * dimTrait + j];
 
-                    outerProduct[i][j] += wChild0i * child0j;
-                    outerProduct[i][j] += wChild1i * child1j;
+                    final double inc = (child0i - child1i) * (child0j - child1j) * weight;
 
-                    //outerProduct[i][j] -= (wChild0i + wChild1i) * meanCache[thisOffset + k * dimTrait + j];
-                    outerProduct[i][j] -= (wChild0i + wChild1i) * cacheHelper.getMeanCache()[thisOffset + k * dimTrait + j];
+                    outerProduct[i][j] += inc;
+//                    increment3[i][j] += inc;
                 }
             }
         }
+
+
+//        double det = increment3[0][0] * increment3[1][1] - increment3[0][1] * increment3[1][0];
+//
+//        System.err.println("INC Check\n"
+//                + new Matrix(increment) + "\n"
+//                + new Matrix(increment2) + "\n"
+//                + new Matrix(increment3) +"\n"
+//                + det + "\n\n");
+
+
+
+        // For numerical stability: Ensure increment is positive-definite
+//        if (checkIsPositiveDefinite(increment)) {
+//            for (int i = 0; i < dimTrait; ++i) {
+//                for (int j = 0; j < dimTrait; ++j) {
+//                    outerProduct[i][j] += increment3[i][j];
+//                }
+//            }
+//        }
+//        else {
+//
+//            System.err.println("ERROR INC\n" + new Matrix(increment) + "\n" + new Matrix(increment3) + "\n\n");
+////            System.exit(-1);
+//
+//        }
+
         wishartStatistics.incrementDf(1); // Peeled one node
     }
 
+//    private boolean checkIsPositiveDefinite(double[][] S) {
+//
+//        final int dim = S.length;
+//
+//        for (int i = 0; i < dim; ++i) {
+//            if (S[i][i] < 0.0) return false;
+//        }
+//
+//        if (dim == 2) {
+//            return (S[0][0] * S[1][1] > S[0][1] * S[1][0]);
+//        } else {
+//            try {
+//                return (new Matrix(S).isPD());
+//            } catch (IllegalDimension illegalDimension) {
+//                illegalDimension.printStackTrace();
+//            }
+//        }
+//        return false;
+//    }
+
+//    private boolean checkDiagonals(double[][] S) {
+//        for (int i = 0; i < S.length; ++i) {
+//            if (S[i][i] < 0.0) {
+//                System.err.println("IMTL ERROR diag(S)\n" + new Matrix(S));
+//                return false;
+//            }
+//        }
+//        return true;
+//    }
+
 //    private void computeWeightedMeanCache(int thisOffset,
 //                                          int childOffset0,
 //                                          int childOffset1,
@@ -729,9 +914,10 @@ public abstract class IntegratedMultivariateTraitLikelihood extends AbstractMult
                                               double[] out2, int offset2,
                                               int length) {
 
-        final double totalInverseWeight = 1.0 / (weight0 + weight1);
+//        final double totalInverseWeight = 1.0 / (weight0 + weight1);
         for (int i = 0; i < length; i++) {
-            out2[offset2 + i] = (in0[offset0 + i] * weight0 + in1[offset1 + i] * weight1) * totalInverseWeight;
+//            out2[offset2 + i] = (in0[offset0 + i] * weight0 + in1[offset1 + i] * weight1) * totalInverseWeight;
+            out2[offset2 + i] = (in0[offset0 + i] * weight0 + in1[offset1 + i] * weight1) / (weight0 + weight1);
         }
     }
 
@@ -1090,8 +1276,42 @@ public abstract class IntegratedMultivariateTraitLikelihood extends AbstractMult
 
     }
 
-    ;
+    class StandarizedCacheHelper extends CacheHelper {
+
+        public StandarizedCacheHelper(int dim, int nodeCount, boolean cacheBranches) {
+            super(dim * nodeCount, cacheBranches);
+            this.dim = dim;
+            this.nodeCount = nodeCount;
+
+
+        }
+
+        public void setTipMeans(double[] traitValue, int dim, int index, NodeRef node) {
+            //System.arraycopy(traitValue, 0, meanCache, dim * index, dim);
+            for (int i = 0; i < dim; ++i) {
+                setMeanCache(dim * index + i, traitValue[i]);
+            }
+        }
+
+        public void setTipMeans(double[] traitValue, int dim, int index) {
+//            System.arraycopy(traitValue, 0, meanCache, dim * index, dim);
+            for (int i = 0; i < dim; ++i) {
+                setMeanCache(dim * index + i, traitValue[i]);
+            }
+        }
+
+//        public void copyToMeanCache(double[] src, int destPos, int length) {
+//            System.arraycopy(src, 0, meanCache, destPos, length);
+//        }
 
+        public void setMeanCache(int index, double value) {
+            final int thisDim = index % dim;
+            meanCache[index] = value;
+        }
+
+        private final int dim;
+        private final int nodeCount;
+    }
 
     class DriftCacheHelper extends CacheHelper {
 
@@ -1191,6 +1411,31 @@ public abstract class IntegratedMultivariateTraitLikelihood extends AbstractMult
 
     }
 
+    private CacheHelper createCacheHelper(IntegratedDiffusionType type, int cacheLength, boolean cacheBranches) {
+        CacheHelper helper = null;
+        switch (type) {
+            case PLAIN:
+                helper = new CacheHelper(cacheLength, cacheBranches);
+                break;
+            case SCALED:
+                helper = new CacheHelper(cacheLength, cacheBranches);
+                break;
+            case DRIFT:
+                helper = new DriftCacheHelper(cacheLength, cacheBranches);
+                break;
+            case OU:
+                helper = new OUCacheHelper(cacheLength, cacheBranches);
+                break;
+        }
+        return helper;
+    }
+
+    public enum IntegratedDiffusionType {
+        PLAIN,
+        SCALED,
+        DRIFT,
+        OU,
+    }
 
     // protected boolean hasDrift;
 
diff --git a/src/dr/evomodel/continuous/IntervalLatentLiabilityLikelihood.java b/src/dr/evomodel/continuous/IntervalLatentLiabilityLikelihood.java
index 04e3d2e..2f693a1 100644
--- a/src/dr/evomodel/continuous/IntervalLatentLiabilityLikelihood.java
+++ b/src/dr/evomodel/continuous/IntervalLatentLiabilityLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * IntervalLatentLiabilityLikelihood.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/LatentTruncation.java b/src/dr/evomodel/continuous/LatentTruncation.java
index 7a47ddb..6ff1cb4 100644
--- a/src/dr/evomodel/continuous/LatentTruncation.java
+++ b/src/dr/evomodel/continuous/LatentTruncation.java
@@ -1,7 +1,7 @@
 /*
  * LatentTruncation.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/MapDiffusionModel.java b/src/dr/evomodel/continuous/MapDiffusionModel.java
index 673821e..9b4ac63 100644
--- a/src/dr/evomodel/continuous/MapDiffusionModel.java
+++ b/src/dr/evomodel/continuous/MapDiffusionModel.java
@@ -1,3 +1,28 @@
+/*
+ * MapDiffusionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/evomodel/continuous/MissingTraits.java b/src/dr/evomodel/continuous/MissingTraits.java
index a1e9a50..7f680cb 100644
--- a/src/dr/evomodel/continuous/MissingTraits.java
+++ b/src/dr/evomodel/continuous/MissingTraits.java
@@ -1,7 +1,7 @@
 /*
  * MissingTraits.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -58,7 +58,7 @@ public interface MissingTraits {
 
             completelyMissing = new boolean[treeModel.getNodeCount()];
             Arrays.fill(completelyMissing, 0, treeModel.getExternalNodeCount(), false);
-            Arrays.fill(completelyMissing, treeModel.getExternalNodeCount() + 1, treeModel.getNodeCount(), true); // All internal and root nodes are missing
+            Arrays.fill(completelyMissing, treeModel.getExternalNodeCount(), treeModel.getNodeCount(), true); // All internal and root nodes are missing
         }
 
         final protected MultivariateTraitTree treeModel;
diff --git a/src/dr/evomodel/continuous/MixtureCartogramDiffusionModel.java b/src/dr/evomodel/continuous/MixtureCartogramDiffusionModel.java
index d9e628a..47f0ac0 100644
--- a/src/dr/evomodel/continuous/MixtureCartogramDiffusionModel.java
+++ b/src/dr/evomodel/continuous/MixtureCartogramDiffusionModel.java
@@ -1,3 +1,28 @@
+/*
+ * MixtureCartogramDiffusionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 import dr.geo.cartogram.CartogramMapping;
diff --git a/src/dr/evomodel/continuous/MultinomialLatentLiabilityLikelihood.java b/src/dr/evomodel/continuous/MultinomialLatentLiabilityLikelihood.java
index 376aca8..4ae0e0b 100644
--- a/src/dr/evomodel/continuous/MultinomialLatentLiabilityLikelihood.java
+++ b/src/dr/evomodel/continuous/MultinomialLatentLiabilityLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * MultinomialLatentLiabilityLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/MultivariateDiffusionModel.java b/src/dr/evomodel/continuous/MultivariateDiffusionModel.java
index 79373a4..f87e165 100644
--- a/src/dr/evomodel/continuous/MultivariateDiffusionModel.java
+++ b/src/dr/evomodel/continuous/MultivariateDiffusionModel.java
@@ -1,3 +1,28 @@
+/*
+ * MultivariateDiffusionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodel/continuous/MultivariateTDiffusionModel.java b/src/dr/evomodel/continuous/MultivariateTDiffusionModel.java
index 17e1e0e..7382e22 100644
--- a/src/dr/evomodel/continuous/MultivariateTDiffusionModel.java
+++ b/src/dr/evomodel/continuous/MultivariateTDiffusionModel.java
@@ -1,3 +1,28 @@
+/*
+ * MultivariateTDiffusionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/evomodel/continuous/MultivariateTraitUtils.java b/src/dr/evomodel/continuous/MultivariateTraitUtils.java
index f565e83..ad4455e 100644
--- a/src/dr/evomodel/continuous/MultivariateTraitUtils.java
+++ b/src/dr/evomodel/continuous/MultivariateTraitUtils.java
@@ -1,7 +1,7 @@
 /*
  * MultivariateTraitUtils.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/NonPhylogeneticMultivariateTraitLikelihood.java b/src/dr/evomodel/continuous/NonPhylogeneticMultivariateTraitLikelihood.java
index 329b9e9..8761bb7 100644
--- a/src/dr/evomodel/continuous/NonPhylogeneticMultivariateTraitLikelihood.java
+++ b/src/dr/evomodel/continuous/NonPhylogeneticMultivariateTraitLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * NonPhylogeneticMultivariateTraitLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/OrderedLatentLiabilityLikelihood.java b/src/dr/evomodel/continuous/OrderedLatentLiabilityLikelihood.java
index 458a293..f8978b3 100644
--- a/src/dr/evomodel/continuous/OrderedLatentLiabilityLikelihood.java
+++ b/src/dr/evomodel/continuous/OrderedLatentLiabilityLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * OrderedLatentLiabilityLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/RootTraitMLE.java b/src/dr/evomodel/continuous/RootTraitMLE.java
index d46db00..2914e8c 100644
--- a/src/dr/evomodel/continuous/RootTraitMLE.java
+++ b/src/dr/evomodel/continuous/RootTraitMLE.java
@@ -1,7 +1,7 @@
 /*
  * RootTraitMLE.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/RootTraitStatistic.java b/src/dr/evomodel/continuous/RootTraitStatistic.java
index cf419ee..1c0976f 100644
--- a/src/dr/evomodel/continuous/RootTraitStatistic.java
+++ b/src/dr/evomodel/continuous/RootTraitStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * RootTraitStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 import dr.inference.model.Statistic;
diff --git a/src/dr/evomodel/continuous/SampledMultivariateTraitLikelihood.java b/src/dr/evomodel/continuous/SampledMultivariateTraitLikelihood.java
index 2c41f64..18bb86c 100644
--- a/src/dr/evomodel/continuous/SampledMultivariateTraitLikelihood.java
+++ b/src/dr/evomodel/continuous/SampledMultivariateTraitLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * SampledMultivariateTraitLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/SemiConjugateMultivariateTraitLikelihood.java b/src/dr/evomodel/continuous/SemiConjugateMultivariateTraitLikelihood.java
index 6f4c76e..438b333 100644
--- a/src/dr/evomodel/continuous/SemiConjugateMultivariateTraitLikelihood.java
+++ b/src/dr/evomodel/continuous/SemiConjugateMultivariateTraitLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * SemiConjugateMultivariateTraitLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/SimulateTrait.java b/src/dr/evomodel/continuous/SimulateTrait.java
index 55d066f..f99e2df 100644
--- a/src/dr/evomodel/continuous/SimulateTrait.java
+++ b/src/dr/evomodel/continuous/SimulateTrait.java
@@ -1,7 +1,7 @@
 /*
  * SimulateTrait.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/SoftThresholdLikelihood.java b/src/dr/evomodel/continuous/SoftThresholdLikelihood.java
index 1ffa67b..780cca3 100644
--- a/src/dr/evomodel/continuous/SoftThresholdLikelihood.java
+++ b/src/dr/evomodel/continuous/SoftThresholdLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * SoftThresholdLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 /**
diff --git a/src/dr/evomodel/continuous/StochasticDifferentialEquationModel.java b/src/dr/evomodel/continuous/StochasticDifferentialEquationModel.java
index a1564f9..c05ad69 100644
--- a/src/dr/evomodel/continuous/StochasticDifferentialEquationModel.java
+++ b/src/dr/evomodel/continuous/StochasticDifferentialEquationModel.java
@@ -1,3 +1,28 @@
+/*
+ * StochasticDifferentialEquationModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 /**
diff --git a/src/dr/evomodel/continuous/TopographicalMap.java b/src/dr/evomodel/continuous/TopographicalMap.java
index 4026f08..52e6a46 100644
--- a/src/dr/evomodel/continuous/TopographicalMap.java
+++ b/src/dr/evomodel/continuous/TopographicalMap.java
@@ -1,3 +1,28 @@
+/*
+ * TopographicalMap.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 import dr.math.SparseMatrixExponential;
diff --git a/src/dr/evomodel/continuous/TraitLikelihood.java b/src/dr/evomodel/continuous/TraitLikelihood.java
index a3c1062..b4b8d0e 100644
--- a/src/dr/evomodel/continuous/TraitLikelihood.java
+++ b/src/dr/evomodel/continuous/TraitLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * TraitLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/TreeTraitNormalDistributionModel.java b/src/dr/evomodel/continuous/TreeTraitNormalDistributionModel.java
index 1058083..6c35bce 100644
--- a/src/dr/evomodel/continuous/TreeTraitNormalDistributionModel.java
+++ b/src/dr/evomodel/continuous/TreeTraitNormalDistributionModel.java
@@ -1,7 +1,7 @@
 /*
  * TreeTraitNormalDistributionModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/TreeTraitSimulator.java b/src/dr/evomodel/continuous/TreeTraitSimulator.java
index 2eebc6d..eb2e80f 100644
--- a/src/dr/evomodel/continuous/TreeTraitSimulator.java
+++ b/src/dr/evomodel/continuous/TreeTraitSimulator.java
@@ -1,3 +1,28 @@
+/*
+ * TreeTraitSimulator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/continuous/TruncatedWorkingDistribution.java b/src/dr/evomodel/continuous/TruncatedWorkingDistribution.java
index 830ecf9..15ccd8a 100644
--- a/src/dr/evomodel/continuous/TruncatedWorkingDistribution.java
+++ b/src/dr/evomodel/continuous/TruncatedWorkingDistribution.java
@@ -1,7 +1,7 @@
 /*
  * TruncatedWorkingDistribution.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/continuous/VonMisesFisherDiffusionModel.java b/src/dr/evomodel/continuous/VonMisesFisherDiffusionModel.java
index 8bb2f98..f7e5ff9 100644
--- a/src/dr/evomodel/continuous/VonMisesFisherDiffusionModel.java
+++ b/src/dr/evomodel/continuous/VonMisesFisherDiffusionModel.java
@@ -1,3 +1,28 @@
+/*
+ * VonMisesFisherDiffusionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/evomodel/continuous/plink/PlinkImporter.java b/src/dr/evomodel/continuous/plink/PlinkImporter.java
index 5aba3b4..52fc158 100644
--- a/src/dr/evomodel/continuous/plink/PlinkImporter.java
+++ b/src/dr/evomodel/continuous/plink/PlinkImporter.java
@@ -1,3 +1,28 @@
+/*
+ * PlinkImporter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.continuous.plink;
 
 import dr.evolution.util.Taxa;
diff --git a/src/dr/evomodel/epidemiology/DynamicalForce.java b/src/dr/evomodel/epidemiology/DynamicalForce.java
index 5ffe27c..86c375b 100644
--- a/src/dr/evomodel/epidemiology/DynamicalForce.java
+++ b/src/dr/evomodel/epidemiology/DynamicalForce.java
@@ -1,3 +1,28 @@
+/*
+ * DynamicalForce.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology;
 
 import java.util.ArrayList;
diff --git a/src/dr/evomodel/epidemiology/DynamicalSystem.java b/src/dr/evomodel/epidemiology/DynamicalSystem.java
index e87d1f4..45969ce 100644
--- a/src/dr/evomodel/epidemiology/DynamicalSystem.java
+++ b/src/dr/evomodel/epidemiology/DynamicalSystem.java
@@ -1,3 +1,28 @@
+/*
+ * DynamicalSystem.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology;
 
 import java.util.ArrayList;
diff --git a/src/dr/evomodel/epidemiology/DynamicalVariable.java b/src/dr/evomodel/epidemiology/DynamicalVariable.java
index 0f32df4..a2d1326 100644
--- a/src/dr/evomodel/epidemiology/DynamicalVariable.java
+++ b/src/dr/evomodel/epidemiology/DynamicalVariable.java
@@ -1,3 +1,28 @@
+/*
+ * DynamicalVariable.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology;
 
 import java.util.ArrayList;
diff --git a/src/dr/evomodel/epidemiology/LambertW.java b/src/dr/evomodel/epidemiology/LambertW.java
index d8b0c8d..2d5178f 100644
--- a/src/dr/evomodel/epidemiology/LambertW.java
+++ b/src/dr/evomodel/epidemiology/LambertW.java
@@ -1,30 +1,33 @@
-/* Lambert W function, code by various authors */
-/* Ported to Java by Daniel Wilson			*/
-
-package dr.evomodel.epidemiology;
-
-/* PORTED FROM GNU SCIENTIFIC LIBRARY WHICH CARRIES THIS LICENSE:
- * 
- * specfunc/lambert.c
- * 
- * Copyright (C) 2007 Brian Gough
- * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 Gerard Jungman
+/*
+ * LambertW.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or (at
- * your option) any later version.
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
  *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
+/* Lambert W function, code by various authors */
+/* Ported to Java by Daniel Wilson			*/
+
+package dr.evomodel.epidemiology;
+
 /* Author:  G. Jungman */
 
 /* Started with code donated by K. Briggs; added
diff --git a/src/dr/evomodel/epidemiology/LogisticGrowthN0.java b/src/dr/evomodel/epidemiology/LogisticGrowthN0.java
index 7b3400c..0e63f73 100644
--- a/src/dr/evomodel/epidemiology/LogisticGrowthN0.java
+++ b/src/dr/evomodel/epidemiology/LogisticGrowthN0.java
@@ -1,6 +1,31 @@
 /*
  * LogisticGrowthN0.java
  *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
+ * LogisticGrowthN0.java
+ *
  * Daniel Wilson 4th October 2011
  *
  */
diff --git a/src/dr/evomodel/epidemiology/LogisticGrowthN0Model.java b/src/dr/evomodel/epidemiology/LogisticGrowthN0Model.java
index 1bbfa72..18a4d63 100644
--- a/src/dr/evomodel/epidemiology/LogisticGrowthN0Model.java
+++ b/src/dr/evomodel/epidemiology/LogisticGrowthN0Model.java
@@ -1,6 +1,31 @@
 /*
  * LogisticGrowthN0Model.java
  *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
+ * LogisticGrowthN0Model.java
+ *
  * Daniel Wilson 4th October 2011
  *
  */
@@ -48,7 +73,7 @@ public class LogisticGrowthN0Model extends DemographicModel
 
 		this.growthRateParameter = growthRateParameter;
 		addVariable(growthRateParameter);
-		growthRateParameter.addBounds(new Parameter.DefaultBounds(Double.POSITIVE_INFINITY, 0.0, 1));
+		growthRateParameter.addBounds(new Parameter.DefaultBounds(Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 1));
 
 		this.t50Parameter = t50Parameter;
 		addVariable(t50Parameter);
diff --git a/src/dr/evomodel/epidemiology/LogisticGrowthN0ModelParser.java b/src/dr/evomodel/epidemiology/LogisticGrowthN0ModelParser.java
index bfdbfe8..f641724 100644
--- a/src/dr/evomodel/epidemiology/LogisticGrowthN0ModelParser.java
+++ b/src/dr/evomodel/epidemiology/LogisticGrowthN0ModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * LogisticGrowthN0ModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodel/epidemiology/ODEDemographicFunction.java b/src/dr/evomodel/epidemiology/ODEDemographicFunction.java
index 048e57f..b9bf0d1 100644
--- a/src/dr/evomodel/epidemiology/ODEDemographicFunction.java
+++ b/src/dr/evomodel/epidemiology/ODEDemographicFunction.java
@@ -1,4 +1,29 @@
 /*
+ * ODEDemographicFunction.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
  * Base class for demographic models based on numerically-integrated ODEs
  * 
 */
diff --git a/src/dr/evomodel/epidemiology/SIRModel.java b/src/dr/evomodel/epidemiology/SIRModel.java
index cb4b3e5..fb1d62b 100644
--- a/src/dr/evomodel/epidemiology/SIRModel.java
+++ b/src/dr/evomodel/epidemiology/SIRModel.java
@@ -1,3 +1,28 @@
+/*
+ * SIRModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology;
 
 import dr.evolution.coalescent.DemographicFunction;
diff --git a/src/dr/evomodel/epidemiology/SIRModelParser.java b/src/dr/evomodel/epidemiology/SIRModelParser.java
index ff360bd..5a4361e 100644
--- a/src/dr/evomodel/epidemiology/SIRModelParser.java
+++ b/src/dr/evomodel/epidemiology/SIRModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * SIRModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodel/epidemiology/SIRepidemic.java b/src/dr/evomodel/epidemiology/SIRepidemic.java
index 2d3c42d..491e98d 100644
--- a/src/dr/evomodel/epidemiology/SIRepidemic.java
+++ b/src/dr/evomodel/epidemiology/SIRepidemic.java
@@ -1,3 +1,28 @@
+/*
+ * SIRepidemic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology;
 
 import dr.evolution.coalescent.*;
diff --git a/src/dr/evomodel/epidemiology/SIRepidemicModel.java b/src/dr/evomodel/epidemiology/SIRepidemicModel.java
index 2cc24a4..6f0f1ee 100644
--- a/src/dr/evomodel/epidemiology/SIRepidemicModel.java
+++ b/src/dr/evomodel/epidemiology/SIRepidemicModel.java
@@ -1,6 +1,31 @@
 /*
  * SIRepidemicModel.java
  *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
+ * SIRepidemicModel.java
+ *
  */
 
 package dr.evomodel.epidemiology;
diff --git a/src/dr/evomodel/epidemiology/SIRepidemicModelParser.java b/src/dr/evomodel/epidemiology/SIRepidemicModelParser.java
index 22c8743..0648c89 100644
--- a/src/dr/evomodel/epidemiology/SIRepidemicModelParser.java
+++ b/src/dr/evomodel/epidemiology/SIRepidemicModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * SIRepidemicModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodel/epidemiology/casetocase/AbstractCase.java b/src/dr/evomodel/epidemiology/casetocase/AbstractCase.java
index 463ca22..4cbd3e4 100644
--- a/src/dr/evomodel/epidemiology/casetocase/AbstractCase.java
+++ b/src/dr/evomodel/epidemiology/casetocase/AbstractCase.java
@@ -1,3 +1,28 @@
+/*
+ * AbstractCase.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase;
 
 import dr.app.beagle.tools.Partition;
diff --git a/src/dr/evomodel/epidemiology/casetocase/AbstractOutbreak.java b/src/dr/evomodel/epidemiology/casetocase/AbstractOutbreak.java
index 65cd3ef..4927f4b 100644
--- a/src/dr/evomodel/epidemiology/casetocase/AbstractOutbreak.java
+++ b/src/dr/evomodel/epidemiology/casetocase/AbstractOutbreak.java
@@ -1,3 +1,28 @@
+/*
+ * AbstractOutbreak.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase;
 
 import dr.evolution.alignment.PatternList;
diff --git a/src/dr/evomodel/epidemiology/casetocase/BadPartitionException.java b/src/dr/evomodel/epidemiology/casetocase/BadPartitionException.java
index 0fab213..52b14a1 100644
--- a/src/dr/evomodel/epidemiology/casetocase/BadPartitionException.java
+++ b/src/dr/evomodel/epidemiology/casetocase/BadPartitionException.java
@@ -1,3 +1,28 @@
+/*
+ * BadPartitionException.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase;
 
 /**
diff --git a/src/dr/evomodel/epidemiology/casetocase/BranchMapModel.java b/src/dr/evomodel/epidemiology/casetocase/BranchMapModel.java
index f968736..4673595 100644
--- a/src/dr/evomodel/epidemiology/casetocase/BranchMapModel.java
+++ b/src/dr/evomodel/epidemiology/casetocase/BranchMapModel.java
@@ -1,3 +1,28 @@
+/*
+ * BranchMapModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase;
 
 import dr.evolution.alignment.Alignment;
diff --git a/src/dr/evomodel/epidemiology/casetocase/CaseToCaseTransmissionLikelihood.java b/src/dr/evomodel/epidemiology/casetocase/CaseToCaseTransmissionLikelihood.java
index 9853ceb..18c3b02 100644
--- a/src/dr/evomodel/epidemiology/casetocase/CaseToCaseTransmissionLikelihood.java
+++ b/src/dr/evomodel/epidemiology/casetocase/CaseToCaseTransmissionLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * CaseToCaseTransmissionLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase;
 
 import dr.evomodel.coalescent.DemographicModel;
diff --git a/src/dr/evomodel/epidemiology/casetocase/CaseToCaseTreeLikelihood.java b/src/dr/evomodel/epidemiology/casetocase/CaseToCaseTreeLikelihood.java
index 41bcac8..bcd7ed8 100644
--- a/src/dr/evomodel/epidemiology/casetocase/CaseToCaseTreeLikelihood.java
+++ b/src/dr/evomodel/epidemiology/casetocase/CaseToCaseTreeLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * CaseToCaseTreeLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase;
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
@@ -34,6 +59,9 @@ import dr.math.MathUtils;
 import dr.util.Author;
 import dr.util.Citable;
 import dr.util.Citation;
+import org.apache.commons.math.stat.descriptive.moment.Mean;
+import org.apache.commons.math.stat.descriptive.moment.Variance;
+import org.apache.commons.math.stat.descriptive.rank.Median;
 
 /**
  * Handles manipulation of the tree partition, and likelihood of the infection times.
@@ -781,7 +809,7 @@ public abstract class CaseToCaseTreeLikelihood extends AbstractTreeLikelihood im
 
     private double getInfectionTime(double min, double max, AbstractCase infected){
         final double branchLength = max-min;
-        return max - branchLength*infected.getInfectionBranchPosition().getParameterValue(0);
+        return min + branchLength*(1-infected.getInfectionBranchPosition().getParameterValue(0));
     }
 
 
@@ -989,17 +1017,17 @@ public abstract class CaseToCaseTreeLikelihood extends AbstractTreeLikelihood im
             primitiveVariable[i] = variable[i];
         }
 
-        DescriptiveStatistics stats = new DescriptiveStatistics(primitiveVariable);
         Double[] out = new Double[4];
-        out[0] = stats.getMean();
-        out[1] = stats.getPercentile(50);
-        out[2] = stats.getVariance();
-        out[3] = stats.getStandardDeviation();
+        out[0] = (new Mean()).evaluate(primitiveVariable);
+        out[1] = (new Median()).evaluate(primitiveVariable);
+        out[2] = (new Variance()).evaluate(primitiveVariable);
+        out[3] = Math.sqrt(out[2]);
         return out;
     }
 
 
 
+
     private double getRootInfectionTime(BranchMapModel branchMap){
         NodeRef root = treeModel.getRoot();
         AbstractCase rootCase = branchMap.get(root.getNumber());
@@ -1372,40 +1400,43 @@ public abstract class CaseToCaseTreeLikelihood extends AbstractTreeLikelihood im
         }
 
         for(AbstractCase aCase : outbreak.getCases()){
-            NodeRef originalNode = getEarliestNodeInPartition(aCase);
-            int infectionNodeNo = originalNode.getNumber();
-            if(!treeModel.isRoot(originalNode)){
-                NodeRef originalParent = treeModel.getParent(originalNode);
-                double nodeTime = getNodeTime(originalNode);
-                double infectionTime = getInfectionTime(aCase);
-                double heightToBreakBranch = getHeight(originalNode) +  (nodeTime - infectionTime);
-                FlexibleNode newNode = (FlexibleNode)outTree.getNode(infectionNodeNo);
-                FlexibleNode oldParent = (FlexibleNode)outTree.getParent(newNode);
-
-                outTree.beginTreeEdit();
-                outTree.removeChild(oldParent, newNode);
-                FlexibleNode infectionNode = new FlexibleNode();
-                infectionNode.setHeight(heightToBreakBranch);
-                infectionNode.setLength(oldParent.getHeight() - heightToBreakBranch);
-                infectionNode.setAttribute(PARTITIONS_KEY, getNodePartition(treeModel, originalParent));
-                newNode.setLength(nodeTime - infectionTime);
-
-                outTree.addChild(oldParent, infectionNode);
-                outTree.addChild(infectionNode, newNode);
-                outTree.endTreeEdit();
-            } else {
-                double nodeTime = getNodeTime(originalNode);
-                double infectionTime = getInfectionTime(aCase);
-                double heightToInstallRoot = getHeight(originalNode) +  (nodeTime - infectionTime);
-                FlexibleNode newNode = (FlexibleNode)outTree.getNode(infectionNodeNo);
-                outTree.beginTreeEdit();
-                FlexibleNode infectionNode = new FlexibleNode();
-                infectionNode.setHeight(heightToInstallRoot);
-                infectionNode.setAttribute(PARTITIONS_KEY, "The_Ether");
-                outTree.addChild(infectionNode, newNode);
-                newNode.setLength(heightToInstallRoot - getHeight(originalNode));
-                outTree.setRoot(infectionNode);
-                outTree.endTreeEdit();
+            if(aCase.wasEverInfected()) {
+                NodeRef originalNode = getEarliestNodeInPartition(aCase);
+
+                int infectionNodeNo = originalNode.getNumber();
+                if (!treeModel.isRoot(originalNode)) {
+                    NodeRef originalParent = treeModel.getParent(originalNode);
+                    double nodeTime = getNodeTime(originalNode);
+                    double infectionTime = getInfectionTime(aCase);
+                    double heightToBreakBranch = getHeight(originalNode) + (nodeTime - infectionTime);
+                    FlexibleNode newNode = (FlexibleNode) outTree.getNode(infectionNodeNo);
+                    FlexibleNode oldParent = (FlexibleNode) outTree.getParent(newNode);
+
+                    outTree.beginTreeEdit();
+                    outTree.removeChild(oldParent, newNode);
+                    FlexibleNode infectionNode = new FlexibleNode();
+                    infectionNode.setHeight(heightToBreakBranch);
+                    infectionNode.setLength(oldParent.getHeight() - heightToBreakBranch);
+                    infectionNode.setAttribute(PARTITIONS_KEY, getNodePartition(treeModel, originalParent));
+                    newNode.setLength(nodeTime - infectionTime);
+
+                    outTree.addChild(oldParent, infectionNode);
+                    outTree.addChild(infectionNode, newNode);
+                    outTree.endTreeEdit();
+                } else {
+                    double nodeTime = getNodeTime(originalNode);
+                    double infectionTime = getInfectionTime(aCase);
+                    double heightToInstallRoot = getHeight(originalNode) + (nodeTime - infectionTime);
+                    FlexibleNode newNode = (FlexibleNode) outTree.getNode(infectionNodeNo);
+                    outTree.beginTreeEdit();
+                    FlexibleNode infectionNode = new FlexibleNode();
+                    infectionNode.setHeight(heightToInstallRoot);
+                    infectionNode.setAttribute(PARTITIONS_KEY, "The_Ether");
+                    outTree.addChild(infectionNode, newNode);
+                    newNode.setLength(heightToInstallRoot - getHeight(originalNode));
+                    outTree.setRoot(infectionNode);
+                    outTree.endTreeEdit();
+                }
             }
         }
 
diff --git a/src/dr/evomodel/epidemiology/casetocase/CategoryOutbreak.java b/src/dr/evomodel/epidemiology/casetocase/CategoryOutbreak.java
index 0b4ab00..c10139a 100644
--- a/src/dr/evomodel/epidemiology/casetocase/CategoryOutbreak.java
+++ b/src/dr/evomodel/epidemiology/casetocase/CategoryOutbreak.java
@@ -1,3 +1,28 @@
+/*
+ * CategoryOutbreak.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase;
 
 import dr.evolution.util.Taxa;
diff --git a/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeLogger.java b/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeLogger.java
index 8b5649d..b088644 100644
--- a/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeLogger.java
+++ b/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeLogger.java
@@ -1,3 +1,28 @@
+/*
+ * PartitionedTreeLogger.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase;
 
 import dr.evolution.tree.*;
diff --git a/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeLoggerParser.java b/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeLoggerParser.java
index bab3a02..2d1f310 100644
--- a/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeLoggerParser.java
+++ b/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeLoggerParser.java
@@ -1,3 +1,28 @@
+/*
+ * PartitionedTreeLoggerParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase;
 
 import dr.evomodelxml.tree.TreeLoggerParser;
diff --git a/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeModel.java b/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeModel.java
index 617b621..65e36b9 100644
--- a/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeModel.java
+++ b/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeModel.java
@@ -1,3 +1,28 @@
+/*
+ * PartitionedTreeModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeModelParser.java b/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeModelParser.java
index 29d2cbe..2585997 100644
--- a/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeModelParser.java
+++ b/src/dr/evomodel/epidemiology/casetocase/PartitionedTreeModelParser.java
@@ -1,7 +1,7 @@
 /*
- * TreeTrace.java
+ * PartitionedTreeModelParser.java
  *
- * Copyright (C) 2002-2007 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/epidemiology/casetocase/SpatialKernel.java b/src/dr/evomodel/epidemiology/casetocase/SpatialKernel.java
index 60f263d..69c6f33 100644
--- a/src/dr/evomodel/epidemiology/casetocase/SpatialKernel.java
+++ b/src/dr/evomodel/epidemiology/casetocase/SpatialKernel.java
@@ -1,3 +1,28 @@
+/*
+ * SpatialKernel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase;
 
 import dr.inference.model.AbstractModel;
diff --git a/src/dr/evomodel/epidemiology/casetocase/WithinCaseCoalescent.java b/src/dr/evomodel/epidemiology/casetocase/WithinCaseCoalescent.java
index 4f9c65f..85a4e36 100644
--- a/src/dr/evomodel/epidemiology/casetocase/WithinCaseCoalescent.java
+++ b/src/dr/evomodel/epidemiology/casetocase/WithinCaseCoalescent.java
@@ -1,3 +1,28 @@
+/*
+ * WithinCaseCoalescent.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase;
 
 import dr.app.tools.NexusExporter;
@@ -8,14 +33,13 @@ import dr.evolution.tree.NodeRef;
 import dr.evolution.tree.Tree;
 import dr.evolution.util.Taxon;
 import dr.evolution.util.TaxonList;
+import dr.evolution.util.Units;
 import dr.evomodel.coalescent.DemographicModel;
 import dr.evomodel.epidemiology.casetocase.periodpriors.AbstractPeriodPriorDistribution;
 import dr.evomodel.tree.TreeModel;
 import dr.inference.loggers.LogColumn;
-import dr.inference.model.CompoundParameter;
 import dr.inference.model.Model;
 import dr.inference.model.Parameter;
-import dr.inference.model.Variable;
 import dr.math.*;
 import dr.xml.*;
 
@@ -35,12 +59,15 @@ public class WithinCaseCoalescent extends CaseToCaseTreeLikelihood {
 
     public static final String WITHIN_CASE_COALESCENT = "withinCaseCoalescent";
 
+    private enum Mode {TRUNCATE, NORMAL}
+
     private double[] partitionTreeLogLikelihoods;
     private double[] storedPartitionTreeLogLikelihoods;
     private boolean[] recalculateCoalescentFlags;
     private HashMap<AbstractCase,Treelet> partitionsAsTrees;
     private HashMap<AbstractCase,Treelet> storedPartitionsAsTrees;
     private DemographicModel demoModel;
+    private Mode mode;
 
 
     private double infectiousPeriodsLogLikelihood;
@@ -50,9 +77,12 @@ public class WithinCaseCoalescent extends CaseToCaseTreeLikelihood {
 
 
     public WithinCaseCoalescent(PartitionedTreeModel virusTree, AbstractOutbreak caseData,
-                                String startingNetworkFileName, Parameter maxFirstInfToRoot, DemographicModel demoModel)
+                                String startingNetworkFileName, Parameter maxFirstInfToRoot, DemographicModel demoModel,
+                                Mode mode)
             throws TaxonList.MissingTaxonException {
+
         super(WITHIN_CASE_COALESCENT, virusTree, caseData, maxFirstInfToRoot);
+        this.mode = mode;
         this.demoModel = demoModel;
         addModel(demoModel);
         addModel(outbreak);
@@ -80,7 +110,7 @@ public class WithinCaseCoalescent extends CaseToCaseTreeLikelihood {
 
         if(DEBUG){
 
-            super.debugOutputTree("bleh.nex", false);
+            super.debugOutputTree("bleh.nex", true);
         }
 
         double logL = 0;
@@ -150,9 +180,11 @@ public class WithinCaseCoalescent extends CaseToCaseTreeLikelihood {
                 if (recalculateCoalescentFlags[number]) {
                     Treelet treelet = partitionsAsTrees.get(aCase);
 
+
+
                     if (children.size() != 0) {
-                        MaxTMRCACoalescent coalescent = new MaxTMRCACoalescent(treelet, demoModel,
-                                treelet.getRootHeight() + treelet.getRootBranchLength());
+                        SpecifiedZeroCoalescent coalescent = new SpecifiedZeroCoalescent(treelet, demoModel,
+                                treelet.getZeroHeight(), mode == Mode.TRUNCATE);
                         partitionTreeLogLikelihoods[number] = coalescent.calculateLogLikelihood();
                         coalescencesLogLikelihood += partitionTreeLogLikelihoods[number];
                         if (DEBUG && partitionTreeLogLikelihoods[number] == Double.POSITIVE_INFINITY) {
@@ -288,30 +320,68 @@ public class WithinCaseCoalescent extends CaseToCaseTreeLikelihood {
             AbstractCase aCase = outbreak.getCase(i);
             if(aCase.wasEverInfected() && partitionsAsTrees.get(aCase)==null){
 
-                if(aCase.wasEverInfected()) {
+                NodeRef partitionRoot = getEarliestNodeInPartition(aCase);
+
+                double extraHeight;
+
+                if(treeModel.isRoot(partitionRoot)){
+                    extraHeight = maxFirstInfToRoot.getParameterValue(0) * aCase.getInfectionBranchPosition().getParameterValue(0);
+                } else {
+                    extraHeight = treeModel.getBranchLength(partitionRoot) * aCase.getInfectionBranchPosition().getParameterValue(0);
+                }
 
-                    NodeRef partitionRoot = getEarliestNodeInPartition(aCase);
+                FlexibleNode newRoot = new FlexibleNode();
 
-                    double infectionTime = getInfectionTime(branchMap.get(partitionRoot.getNumber()));
-                    double rootTime = getNodeTime(partitionRoot);
+                FlexibleTree littleTree = new FlexibleTree(newRoot);
+                littleTree.beginTreeEdit();
 
-                    FlexibleNode newRoot = new FlexibleNode();
+                if (!treeModel.isExternal(partitionRoot)) {
+                    for (int j = 0; j < treeModel.getChildCount(partitionRoot); j++) {
+                        copyPartitionToTreelet(littleTree, treeModel.getChild(partitionRoot, j), newRoot, aCase);
+                    }
+                }
 
-                    FlexibleTree littleTree = new FlexibleTree(newRoot);
-                    littleTree.beginTreeEdit();
+                littleTree.endTreeEdit();
 
-                    if (!treeModel.isExternal(partitionRoot)) {
-                        for (int j = 0; j < treeModel.getChildCount(partitionRoot); j++) {
-                            copyPartitionToTreelet(littleTree, treeModel.getChild(partitionRoot, j), newRoot, aCase);
+                littleTree.resolveTree();
+
+                double sampleTipHeight = 0;
+
+                if(littleTree.getExternalNodeCount()>1) {
+                    for (int j = 0; j < littleTree.getExternalNodeCount(); j++) {
+                        NodeRef node = littleTree.getExternalNode(j);
+                        if (!littleTree.getNodeTaxon(node).getId().startsWith("Transmission_")) {
+                            sampleTipHeight = littleTree.getNodeHeight(node);
+                            break;
                         }
+
                     }
+                }
 
-                    littleTree.endTreeEdit();
 
-                    littleTree.resolveTree();
 
-                    partitionsAsTrees.put(aCase, new Treelet(littleTree, rootTime - infectionTime));
-                }
+
+
+                Treelet treelet = new Treelet(littleTree,
+                        littleTree.getRootHeight() + extraHeight);
+
+
+
+
+//                if(sampleTipHeight==-1){
+//                    System.out.println();
+//                }
+
+//                double heightPlusRB = treelet.getZeroHeight() - sampleTipHeight;
+//                double infectedTime = aCase.examTime - getInfectionTime(aCase);
+//
+//                if(heightPlusRB!=infectedTime){
+//                    System.out.println();
+//                }
+
+                partitionsAsTrees.put(aCase, treelet);
+
+
             }
         }
     }
@@ -364,116 +434,207 @@ public class WithinCaseCoalescent extends CaseToCaseTreeLikelihood {
 
     private class Treelet extends FlexibleTree {
 
-        private double rootBranchLength;
+        private double zeroHeight;
 
-        private Treelet(FlexibleTree tree, double rootBranchLength){
+        private Treelet(FlexibleTree tree, double zeroHeight){
             super(tree);
-            this.rootBranchLength = rootBranchLength;
+            this.zeroHeight = zeroHeight;
+
         }
 
-        private double getRootBranchLength(){
-            return rootBranchLength;
+        private double getZeroHeight(){
+            return zeroHeight;
         }
 
-        private void setRootBranchLength(double rootBranchLength){
-            this.rootBranchLength = rootBranchLength;
+
+
+        private void setZeroHeight(double rootBranchLength){
+            this.zeroHeight = zeroHeight;
         }
     }
 
-    private class MaxTMRCACoalescent extends Coalescent {
+    private Treelet transformTreelet(Treelet treelet){
+
+        double[] transformedNodeTimes = new double[treelet.getNodeCount()];
+
+        double totalHeight = treelet.getZeroHeight();
+
+        double willMapToZero = totalHeight - 1;
+
+        for(int i=0; i<treelet.getNodeCount(); i++){
+            NodeRef node = treelet.getNode(i);
 
-        private double maxHeight;
+            double time =  treelet.getNodeHeight(node) - totalHeight;
 
-        private MaxTMRCACoalescent(Tree tree, DemographicModel demographicModel, double maxHeight){
+            transformedNodeTimes[i] = -Math.log(-(time));
+        }
+
+        double first = Double.POSITIVE_INFINITY;
+        for (double transformedNodeTime : transformedNodeTimes) {
+            if (transformedNodeTime < first) {
+                first = transformedNodeTime;
+            }
+        }
+
+        double zeroHeight = -first;
+
+        Treelet copy = new Treelet(treelet, zeroHeight);
+
+        for(int i=0; i<copy.getNodeCount(); i++){
+            NodeRef node = copy.getNode(i);
+
+            copy.setNodeHeight(node, transformedNodeTimes[i] - first);
+        }
+
+        copy.resolveTree();
+
+        return copy;
+
+    }
+
+
+    private class SpecifiedZeroCoalescent extends Coalescent {
+
+        private double zeroHeight;
+        boolean truncate;
+
+        private SpecifiedZeroCoalescent(Tree tree, DemographicModel demographicModel, double zeroHeight,
+                                        boolean truncate){
             super(tree, demographicModel.getDemographicFunction());
 
-            this.maxHeight = maxHeight;
+            this.zeroHeight = zeroHeight;
+            this.truncate = truncate;
 
         }
 
         public double calculateLogLikelihood() {
-            return calculatePartitionTreeLogLikelihood(getIntervals(), getDemographicFunction(), 0, maxHeight);
+
+            return calculatePartitionTreeLogLikelihood(getIntervals(), getDemographicFunction(), 0, zeroHeight,
+                    truncate);
         }
 
     }
 
     public static double calculatePartitionTreeLogLikelihood(IntervalList intervals,
                                                              DemographicFunction demographicFunction, double threshold,
-                                                             double maxHeight) {
+                                                             double zeroHeight, boolean truncate) {
 
         double logL = 0.0;
 
-        double startTime = -maxHeight;
+        double startTime = -zeroHeight;
         final int n = intervals.getIntervalCount();
 
         //TreeIntervals sets up a first zero-length interval with a lineage count of zero - skip this one
 
         for (int i = 0; i < n; i++) {
 
-            // time zero corresponds to the date of first infection
+            if(truncate) {
 
-            final double duration = intervals.getInterval(i);
-            final double finishTime = startTime + duration;
+                // time zero corresponds to the date of first infection
 
-            // if this has happened the run is probably pretty unhappy
+                final double duration = intervals.getInterval(i);
+                final double finishTime = startTime + duration;
 
-            if(finishTime==0){
-                return Double.NEGATIVE_INFINITY;
-            }
+                // if this has happened the run is probably pretty unhappy
 
-            final double intervalArea = demographicFunction.getIntegral(startTime, finishTime);
-            final double normalisationArea = demographicFunction.getIntegral(startTime, 0);
+                if (finishTime == 0) {
+                    return Double.NEGATIVE_INFINITY;
+                }
 
-            if( intervalArea == 0 && duration != 0 ) {
-                return Double.NEGATIVE_INFINITY;
-            }
+                final double intervalArea = demographicFunction.getIntegral(startTime, finishTime);
+                final double normalisationArea = demographicFunction.getIntegral(startTime, 0);
 
-            final int lineageCount = intervals.getLineageCount(i);
+                if (intervalArea == 0 && duration != 0) {
+                    return Double.NEGATIVE_INFINITY;
+                }
 
-            if(lineageCount>=2){
+                final int lineageCount = intervals.getLineageCount(i);
 
-                final double kChoose2 = Binomial.choose2(lineageCount);
+                if (lineageCount >= 2) {
 
-                if (intervals.getIntervalType(i) == IntervalType.COALESCENT) {
+                    final double kChoose2 = Binomial.choose2(lineageCount);
 
-                    logL += -kChoose2 * intervalArea;
+                    if (intervals.getIntervalType(i) == IntervalType.COALESCENT) {
 
-                    final double demographicAtCoalPoint = demographicFunction.getDemographic(finishTime);
+                        logL += -kChoose2 * intervalArea;
+
+                        final double demographicAtCoalPoint = demographicFunction.getDemographic(finishTime);
+
+                        if (duration == 0.0 || demographicAtCoalPoint * (intervalArea / duration) >= threshold) {
+                            logL -= Math.log(demographicAtCoalPoint);
+                        } else {
+                            return Double.NEGATIVE_INFINITY;
+                        }
 
-                    if( duration == 0.0 || demographicAtCoalPoint * (intervalArea/duration) >= threshold ) {
-                        logL -= Math.log(demographicAtCoalPoint);
                     } else {
-                        return Double.NEGATIVE_INFINITY;
+                        double numerator = Math.exp(-kChoose2 * intervalArea) - Math.exp(-kChoose2 * normalisationArea);
+                        logL += Math.log(numerator);
+
                     }
 
-                } else {
-                    double numerator = Math.exp(-kChoose2 * intervalArea) - Math.exp(-kChoose2 * normalisationArea);
-                    logL += Math.log(numerator);
+                    // normalisation
 
-                }
+                    double normExp = Math.exp(-kChoose2 * normalisationArea);
+
+                    double logDenominator;
 
-                // normalisation
+                    // the denominator has an irritating tendency to round to zero
 
-                double normExp = Math.exp(-kChoose2 * normalisationArea);
+                    if (normExp != 1) {
+                        logDenominator = Math.log1p(-normExp);
+                    } else {
+                        logDenominator = handleDenominatorUnderflow(-kChoose2 * normalisationArea);
+                    }
 
-                double logDenominator;
 
-                // the denominator has an irritating tendency to round to zero
+                    logL -= logDenominator;
 
-                if(normExp!=1){
-                    logDenominator = Math.log1p(-normExp);
-                } else {
-                    logDenominator = handleDenominatorUnderflow(-kChoose2 * normalisationArea);
                 }
 
+                startTime = finishTime;
+            } else {
+                if(!(demographicFunction instanceof LinearGrowth)){
 
-                logL -= logDenominator;
+                    throw new RuntimeException("Function must have zero population at t=0 if truncate=false");
+                }
 
-            }
+                final double duration = intervals.getInterval(i);
+                final double finishTime = startTime + duration;
+
+                final double intervalArea = demographicFunction.getIntegral(startTime, finishTime);
+                if( intervalArea == 0 && duration != 0 ) {
+                    return Double.NEGATIVE_INFINITY;
+                }
+                final int lineageCount = intervals.getLineageCount(i);
+                final double kChoose2 = Binomial.choose2(lineageCount);
+                // common part
+                logL += -kChoose2 * intervalArea;
+
+                if (intervals.getIntervalType(i) == IntervalType.COALESCENT) {
 
-            startTime = finishTime;
+                    final double demographicAtCoalPoint = demographicFunction.getDemographic(finishTime);
+
+                    // if value at end is many orders of magnitude different than mean over interval reject the interval
+                    // This is protection against cases where ridiculous infinitesimal population size at the end of a
+                    // linear interval drive coalescent values to infinity.
+
+                    if( duration == 0.0 || demographicAtCoalPoint * (intervalArea/duration) >= threshold ) {
+                        //                if( duration == 0.0 || demographicAtCoalPoint >= threshold * (duration/intervalArea) ) {
+                        logL -= Math.log(demographicAtCoalPoint);
+                    } else {
+                        // remove this at some stage
+                        //  System.err.println("Warning: " + i + " " + demographicAtCoalPoint + " " + (intervalArea/duration) );
+                        return Double.NEGATIVE_INFINITY;
+                    }
+
+                }
+
+                startTime = finishTime;
+            }
         }
 
+
+
         return logL;
     }
 
@@ -544,6 +705,7 @@ public class WithinCaseCoalescent extends CaseToCaseTreeLikelihood {
         public static final String STARTING_NETWORK = "startingNetwork";
         public static final String MAX_FIRST_INF_TO_ROOT = "maxFirstInfToRoot";
         public static final String DEMOGRAPHIC_MODEL = "demographicModel";
+        public static final String TRUNCATE = "truncate";
 
         public String getParserName() {
             return WITHIN_CASE_COALESCENT;
@@ -567,9 +729,11 @@ public class WithinCaseCoalescent extends CaseToCaseTreeLikelihood {
 
             DemographicModel demoModel = (DemographicModel) xo.getElementFirstChild(DEMOGRAPHIC_MODEL);
 
+            Mode mode = xo.hasAttribute(TRUNCATE) & xo.getBooleanAttribute(TRUNCATE) ? Mode.TRUNCATE : Mode.NORMAL;
+
             try {
                 likelihood = new WithinCaseCoalescent(virusTree, caseSet, startingNetworkFileName,
-                        earliestFirstInfection, demoModel);
+                        earliestFirstInfection, demoModel, mode);
             } catch (TaxonList.MissingTaxonException e) {
                 throw new XMLParseException(e.toString());
             }
@@ -599,7 +763,11 @@ public class WithinCaseCoalescent extends CaseToCaseTreeLikelihood {
                 new ElementRule(MAX_FIRST_INF_TO_ROOT, Parameter.class, "The maximum time from the first infection to" +
                         "the root node"),
                 new ElementRule(DEMOGRAPHIC_MODEL, DemographicModel.class, "The demographic model for within-case" +
-                        "evolution")
+                        "evolution"),
+                AttributeRule.newBooleanRule(TRUNCATE)
         };
     };
+
+
+
 }
diff --git a/src/dr/evomodel/epidemiology/casetocase/operators/InfectionBranchGibbsOperator.java b/src/dr/evomodel/epidemiology/casetocase/operators/InfectionBranchGibbsOperator.java
index 15dd4fa..4e48916 100644
--- a/src/dr/evomodel/epidemiology/casetocase/operators/InfectionBranchGibbsOperator.java
+++ b/src/dr/evomodel/epidemiology/casetocase/operators/InfectionBranchGibbsOperator.java
@@ -1,3 +1,28 @@
+/*
+ * InfectionBranchGibbsOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/epidemiology/casetocase/operators/InfectionBranchMovementOperator.java b/src/dr/evomodel/epidemiology/casetocase/operators/InfectionBranchMovementOperator.java
index dd54c32..0794196 100644
--- a/src/dr/evomodel/epidemiology/casetocase/operators/InfectionBranchMovementOperator.java
+++ b/src/dr/evomodel/epidemiology/casetocase/operators/InfectionBranchMovementOperator.java
@@ -1,3 +1,28 @@
+/*
+ * InfectionBranchMovementOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionExchangeOperatorA.java b/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionExchangeOperatorA.java
index e9ee6b5..666dcfe 100644
--- a/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionExchangeOperatorA.java
+++ b/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionExchangeOperatorA.java
@@ -1,3 +1,28 @@
+/*
+ * TransmissionExchangeOperatorA.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionExchangeOperatorB.java b/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionExchangeOperatorB.java
index c72c37a..826c405 100644
--- a/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionExchangeOperatorB.java
+++ b/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionExchangeOperatorB.java
@@ -1,3 +1,28 @@
+/*
+ * TransmissionExchangeOperatorB.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionSubtreeSlideA.java b/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionSubtreeSlideA.java
index 8b3c600..b6203cf 100644
--- a/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionSubtreeSlideA.java
+++ b/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionSubtreeSlideA.java
@@ -1,3 +1,28 @@
+/*
+ * TransmissionSubtreeSlideA.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionSubtreeSlideB.java b/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionSubtreeSlideB.java
index b2e972e..718219e 100644
--- a/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionSubtreeSlideB.java
+++ b/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionSubtreeSlideB.java
@@ -1,3 +1,28 @@
+/*
+ * TransmissionSubtreeSlideB.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionTreeOperator.java b/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionTreeOperator.java
index 1210446..38d213c 100644
--- a/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionTreeOperator.java
+++ b/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionTreeOperator.java
@@ -1,3 +1,28 @@
+/*
+ * TransmissionTreeOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionWilsonBaldingA.java b/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionWilsonBaldingA.java
index 1e1218d..3c00bdf 100644
--- a/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionWilsonBaldingA.java
+++ b/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionWilsonBaldingA.java
@@ -1,3 +1,28 @@
+/*
+ * TransmissionWilsonBaldingA.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionWilsonBaldingB.java b/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionWilsonBaldingB.java
index c298068..3b4488f 100644
--- a/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionWilsonBaldingB.java
+++ b/src/dr/evomodel/epidemiology/casetocase/operators/TransmissionWilsonBaldingB.java
@@ -1,3 +1,28 @@
+/*
+ * TransmissionWilsonBaldingB.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/epidemiology/casetocase/periodpriors/AbstractPeriodPriorDistribution.java b/src/dr/evomodel/epidemiology/casetocase/periodpriors/AbstractPeriodPriorDistribution.java
index 9950559..d66263e 100644
--- a/src/dr/evomodel/epidemiology/casetocase/periodpriors/AbstractPeriodPriorDistribution.java
+++ b/src/dr/evomodel/epidemiology/casetocase/periodpriors/AbstractPeriodPriorDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * AbstractPeriodPriorDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase.periodpriors;
 
 import dr.inference.loggers.LogColumn;
diff --git a/src/dr/evomodel/epidemiology/casetocase/periodpriors/IndividualPrior.java b/src/dr/evomodel/epidemiology/casetocase/periodpriors/IndividualPrior.java
index a01a4d7..2a34cdd 100644
--- a/src/dr/evomodel/epidemiology/casetocase/periodpriors/IndividualPrior.java
+++ b/src/dr/evomodel/epidemiology/casetocase/periodpriors/IndividualPrior.java
@@ -1,3 +1,28 @@
+/*
+ * IndividualPrior.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase.periodpriors;
 
 import dr.evomodel.epidemiology.casetocase.AbstractCase;
diff --git a/src/dr/evomodel/epidemiology/casetocase/periodpriors/KnownVarianceNormalPeriodPriorDistribution.java b/src/dr/evomodel/epidemiology/casetocase/periodpriors/KnownVarianceNormalPeriodPriorDistribution.java
index 3f14718..66946a7 100644
--- a/src/dr/evomodel/epidemiology/casetocase/periodpriors/KnownVarianceNormalPeriodPriorDistribution.java
+++ b/src/dr/evomodel/epidemiology/casetocase/periodpriors/KnownVarianceNormalPeriodPriorDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * KnownVarianceNormalPeriodPriorDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase.periodpriors;
 
 import dr.inference.loggers.LogColumn;
diff --git a/src/dr/evomodel/epidemiology/casetocase/periodpriors/NormalPeriodPriorDistribution.java b/src/dr/evomodel/epidemiology/casetocase/periodpriors/NormalPeriodPriorDistribution.java
index 2dc3daf..874f4d7 100644
--- a/src/dr/evomodel/epidemiology/casetocase/periodpriors/NormalPeriodPriorDistribution.java
+++ b/src/dr/evomodel/epidemiology/casetocase/periodpriors/NormalPeriodPriorDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * NormalPeriodPriorDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase.periodpriors;
 
 import dr.inference.loggers.LogColumn;
diff --git a/src/dr/evomodel/epidemiology/casetocase/periodpriors/OneOverStDevPeriodPriorDistribution.java b/src/dr/evomodel/epidemiology/casetocase/periodpriors/OneOverStDevPeriodPriorDistribution.java
index 3a61bcd..a21cdba 100644
--- a/src/dr/evomodel/epidemiology/casetocase/periodpriors/OneOverStDevPeriodPriorDistribution.java
+++ b/src/dr/evomodel/epidemiology/casetocase/periodpriors/OneOverStDevPeriodPriorDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * OneOverStDevPeriodPriorDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.epidemiology.casetocase.periodpriors;
 
 import dr.xml.*;
diff --git a/src/dr/evomodel/ibd/AvgPosteriorIBDReporter.java b/src/dr/evomodel/ibd/AvgPosteriorIBDReporter.java
index d219764..e5140ca 100644
--- a/src/dr/evomodel/ibd/AvgPosteriorIBDReporter.java
+++ b/src/dr/evomodel/ibd/AvgPosteriorIBDReporter.java
@@ -1,3 +1,28 @@
+/*
+ * AvgPosteriorIBDReporter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.ibd;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/ibd/HKYRates.java b/src/dr/evomodel/ibd/HKYRates.java
index b330bb8..cbc7d67 100644
--- a/src/dr/evomodel/ibd/HKYRates.java
+++ b/src/dr/evomodel/ibd/HKYRates.java
@@ -1,3 +1,28 @@
+/*
+ * HKYRates.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.ibd;
 
 import dr.evomodel.substmodel.FrequencyModel;
diff --git a/src/dr/evomodel/ibd/IBDReporter.java b/src/dr/evomodel/ibd/IBDReporter.java
index 5b55b54..aa7453a 100644
--- a/src/dr/evomodel/ibd/IBDReporter.java
+++ b/src/dr/evomodel/ibd/IBDReporter.java
@@ -1,8 +1,7 @@
 /*
  * IBDReporter.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond,
- * Andrew Rambaut, Marc Suchard and Alexander V. Alekseyenko
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -13,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/indel/HomologyRecursion.java b/src/dr/evomodel/indel/HomologyRecursion.java
index 6858323..073ec8d 100644
--- a/src/dr/evomodel/indel/HomologyRecursion.java
+++ b/src/dr/evomodel/indel/HomologyRecursion.java
@@ -1,7 +1,7 @@
 /*
  * HomologyRecursion.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/indel/IndelModel.java b/src/dr/evomodel/indel/IndelModel.java
index 3a93e06..31393a5 100644
--- a/src/dr/evomodel/indel/IndelModel.java
+++ b/src/dr/evomodel/indel/IndelModel.java
@@ -1,7 +1,7 @@
 /*
  * IndelModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/indel/IntMathVec.java b/src/dr/evomodel/indel/IntMathVec.java
index a93469c..acb0b7c 100644
--- a/src/dr/evomodel/indel/IntMathVec.java
+++ b/src/dr/evomodel/indel/IntMathVec.java
@@ -1,7 +1,7 @@
 /*
  * IntMathVec.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/indel/IstvanOperator.java b/src/dr/evomodel/indel/IstvanOperator.java
index 8a3fa5d..c2f9f58 100644
--- a/src/dr/evomodel/indel/IstvanOperator.java
+++ b/src/dr/evomodel/indel/IstvanOperator.java
@@ -1,7 +1,7 @@
 /*
  * IstvanOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/indel/IstvansProposal.java b/src/dr/evomodel/indel/IstvansProposal.java
index b721d4a..c2e4388 100644
--- a/src/dr/evomodel/indel/IstvansProposal.java
+++ b/src/dr/evomodel/indel/IstvansProposal.java
@@ -1,7 +1,7 @@
 /*
  * IstvansProposal.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/indel/NativeTreeLikelihood.java b/src/dr/evomodel/indel/NativeTreeLikelihood.java
index b8a7826..c6e96b9 100644
--- a/src/dr/evomodel/indel/NativeTreeLikelihood.java
+++ b/src/dr/evomodel/indel/NativeTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * NativeTreeLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/indel/TKF91Likelihood.java b/src/dr/evomodel/indel/TKF91Likelihood.java
index 557eed1..d8ac75d 100644
--- a/src/dr/evomodel/indel/TKF91Likelihood.java
+++ b/src/dr/evomodel/indel/TKF91Likelihood.java
@@ -1,7 +1,7 @@
 /*
  * TKF91Likelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/indel/TKF91Model.java b/src/dr/evomodel/indel/TKF91Model.java
index ce12719..85be0ce 100644
--- a/src/dr/evomodel/indel/TKF91Model.java
+++ b/src/dr/evomodel/indel/TKF91Model.java
@@ -1,7 +1,7 @@
 /*
  * TKF91Model.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/lineage/LineageModelLikelihood.java b/src/dr/evomodel/lineage/LineageModelLikelihood.java
index 15e0b98..932a526 100644
--- a/src/dr/evomodel/lineage/LineageModelLikelihood.java
+++ b/src/dr/evomodel/lineage/LineageModelLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * LineageModelLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.lineage;
 
 import dr.inference.model.*;
diff --git a/src/dr/evomodel/lineage/LineageSitePatterns.java b/src/dr/evomodel/lineage/LineageSitePatterns.java
index 0ae1eb7..178459f 100644
--- a/src/dr/evomodel/lineage/LineageSitePatterns.java
+++ b/src/dr/evomodel/lineage/LineageSitePatterns.java
@@ -1,3 +1,28 @@
+/*
+ * LineageSitePatterns.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.lineage;
 
 import dr.evolution.alignment.*;
diff --git a/src/dr/evomodel/lineage/LineageSitePatternsParser.java b/src/dr/evomodel/lineage/LineageSitePatternsParser.java
index 6bcde10..47543c8 100644
--- a/src/dr/evomodel/lineage/LineageSitePatternsParser.java
+++ b/src/dr/evomodel/lineage/LineageSitePatternsParser.java
@@ -1,7 +1,7 @@
 /*
- * SitePatternsParser.java
+ * LineageSitePatternsParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/newtreelikelihood/FloatGeneralLikelihoodCore.java b/src/dr/evomodel/newtreelikelihood/FloatGeneralLikelihoodCore.java
index 3748ed8..245f4b0 100644
--- a/src/dr/evomodel/newtreelikelihood/FloatGeneralLikelihoodCore.java
+++ b/src/dr/evomodel/newtreelikelihood/FloatGeneralLikelihoodCore.java
@@ -1,7 +1,7 @@
 /*
- * AbstractLikelihoodCore.java
+ * FloatGeneralLikelihoodCore.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/newtreelikelihood/GPUInfo.java b/src/dr/evomodel/newtreelikelihood/GPUInfo.java
index b1c7f99..d0681f7 100644
--- a/src/dr/evomodel/newtreelikelihood/GPUInfo.java
+++ b/src/dr/evomodel/newtreelikelihood/GPUInfo.java
@@ -1,3 +1,28 @@
+/*
+ * GPUInfo.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.newtreelikelihood;
 
 import java.util.ArrayList;
diff --git a/src/dr/evomodel/newtreelikelihood/GPULikelihoodCore.java b/src/dr/evomodel/newtreelikelihood/GPULikelihoodCore.java
index 38079c3..3ba82e0 100644
--- a/src/dr/evomodel/newtreelikelihood/GPULikelihoodCore.java
+++ b/src/dr/evomodel/newtreelikelihood/GPULikelihoodCore.java
@@ -1,3 +1,28 @@
+/*
+ * GPULikelihoodCore.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.newtreelikelihood;
 
 import dr.app.beagle.evomodel.treelikelihood.AbstractTreeLikelihood;
diff --git a/src/dr/evomodel/newtreelikelihood/GeneralLikelihoodCore.java b/src/dr/evomodel/newtreelikelihood/GeneralLikelihoodCore.java
index d62444d..25f7bc9 100644
--- a/src/dr/evomodel/newtreelikelihood/GeneralLikelihoodCore.java
+++ b/src/dr/evomodel/newtreelikelihood/GeneralLikelihoodCore.java
@@ -1,7 +1,7 @@
 /*
- * AbstractLikelihoodCore.java
+ * GeneralLikelihoodCore.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/newtreelikelihood/LikelihoodCore.java b/src/dr/evomodel/newtreelikelihood/LikelihoodCore.java
index a6c8db0..9cf8dae 100644
--- a/src/dr/evomodel/newtreelikelihood/LikelihoodCore.java
+++ b/src/dr/evomodel/newtreelikelihood/LikelihoodCore.java
@@ -1,7 +1,7 @@
 /*
  * LikelihoodCore.java
  *
- * Copyright (C) 2002-2007 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/newtreelikelihood/LikelihoodCoreFactory.java b/src/dr/evomodel/newtreelikelihood/LikelihoodCoreFactory.java
index 7f21d37..65bec5f 100644
--- a/src/dr/evomodel/newtreelikelihood/LikelihoodCoreFactory.java
+++ b/src/dr/evomodel/newtreelikelihood/LikelihoodCoreFactory.java
@@ -1,3 +1,28 @@
+/*
+ * LikelihoodCoreFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  *
  */
diff --git a/src/dr/evomodel/newtreelikelihood/NativeLikelihoodCore.java b/src/dr/evomodel/newtreelikelihood/NativeLikelihoodCore.java
index b5d2b0c..129a409 100644
--- a/src/dr/evomodel/newtreelikelihood/NativeLikelihoodCore.java
+++ b/src/dr/evomodel/newtreelikelihood/NativeLikelihoodCore.java
@@ -1,3 +1,28 @@
+/*
+ * NativeLikelihoodCore.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.newtreelikelihood;
 
 import dr.evomodel.sitemodel.SiteModel;
diff --git a/src/dr/evomodel/newtreelikelihood/OTFPCGeneralLikelihoodCore.java b/src/dr/evomodel/newtreelikelihood/OTFPCGeneralLikelihoodCore.java
index 073fba2..8c1a9df 100644
--- a/src/dr/evomodel/newtreelikelihood/OTFPCGeneralLikelihoodCore.java
+++ b/src/dr/evomodel/newtreelikelihood/OTFPCGeneralLikelihoodCore.java
@@ -1,7 +1,7 @@
 /*
- * AbstractLikelihoodCore.java
+ * OTFPCGeneralLikelihoodCore.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/newtreelikelihood/ThreadedGPULikelihoodCore.java b/src/dr/evomodel/newtreelikelihood/ThreadedGPULikelihoodCore.java
index c3d1b0d..9cad774 100644
--- a/src/dr/evomodel/newtreelikelihood/ThreadedGPULikelihoodCore.java
+++ b/src/dr/evomodel/newtreelikelihood/ThreadedGPULikelihoodCore.java
@@ -1,3 +1,28 @@
+/*
+ * ThreadedGPULikelihoodCore.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.newtreelikelihood;
 
 import dr.app.beagle.evomodel.treelikelihood.AbstractTreeLikelihood;
diff --git a/src/dr/evomodel/newtreelikelihood/TreeLikelihood.java b/src/dr/evomodel/newtreelikelihood/TreeLikelihood.java
index f0e0cf6..a40c1e1 100644
--- a/src/dr/evomodel/newtreelikelihood/TreeLikelihood.java
+++ b/src/dr/evomodel/newtreelikelihood/TreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * TreeLikelihood.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/newtreelikelihood/VectorTreeLikelihoodParser.java b/src/dr/evomodel/newtreelikelihood/VectorTreeLikelihoodParser.java
index b97637e..3d54cb5 100644
--- a/src/dr/evomodel/newtreelikelihood/VectorTreeLikelihoodParser.java
+++ b/src/dr/evomodel/newtreelikelihood/VectorTreeLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * VectorTreeLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.newtreelikelihood;
 
 public class VectorTreeLikelihoodParser extends TreeLikelihood.TreeLikelihoodParser {
diff --git a/src/dr/evomodel/operators/AbstractImportanceDistributionOperator.java b/src/dr/evomodel/operators/AbstractImportanceDistributionOperator.java
index 66c1795..28e5253 100644
--- a/src/dr/evomodel/operators/AbstractImportanceDistributionOperator.java
+++ b/src/dr/evomodel/operators/AbstractImportanceDistributionOperator.java
@@ -1,7 +1,7 @@
 /*
  * AbstractImportanceDistributionOperator.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/operators/AbstractTreeOperator.java b/src/dr/evomodel/operators/AbstractTreeOperator.java
index b6190f9..caa2881 100644
--- a/src/dr/evomodel/operators/AbstractTreeOperator.java
+++ b/src/dr/evomodel/operators/AbstractTreeOperator.java
@@ -1,3 +1,28 @@
+/*
+ * AbstractTreeOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evomodel.tree.TreeModel;
diff --git a/src/dr/evomodel/operators/AlloppChangeNumHybridizations.java b/src/dr/evomodel/operators/AlloppChangeNumHybridizations.java
index 803aa60..2124e98 100644
--- a/src/dr/evomodel/operators/AlloppChangeNumHybridizations.java
+++ b/src/dr/evomodel/operators/AlloppChangeNumHybridizations.java
@@ -1,4 +1,29 @@
 
+/*
+ * AlloppChangeNumHybridizations.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import java.util.ArrayList;
diff --git a/src/dr/evomodel/operators/AlloppHybPopSizesScale.java b/src/dr/evomodel/operators/AlloppHybPopSizesScale.java
index b11e6a9..b46590c 100644
--- a/src/dr/evomodel/operators/AlloppHybPopSizesScale.java
+++ b/src/dr/evomodel/operators/AlloppHybPopSizesScale.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppHybPopSizesScale.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evomodel.speciation.AlloppSpeciesBindings;
diff --git a/src/dr/evomodel/operators/AlloppMoveLegs.java b/src/dr/evomodel/operators/AlloppMoveLegs.java
index 86cde81..c1a4fb0 100644
--- a/src/dr/evomodel/operators/AlloppMoveLegs.java
+++ b/src/dr/evomodel/operators/AlloppMoveLegs.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppMoveLegs.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evomodel.speciation.AlloppSpeciesBindings;
diff --git a/src/dr/evomodel/operators/AlloppNetworkNodeSlide.java b/src/dr/evomodel/operators/AlloppNetworkNodeSlide.java
index cae921c..71cdb6d 100644
--- a/src/dr/evomodel/operators/AlloppNetworkNodeSlide.java
+++ b/src/dr/evomodel/operators/AlloppNetworkNodeSlide.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppNetworkNodeSlide.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/operators/AlloppSequenceReassignment.java b/src/dr/evomodel/operators/AlloppSequenceReassignment.java
index bd3af30..74d17a2 100644
--- a/src/dr/evomodel/operators/AlloppSequenceReassignment.java
+++ b/src/dr/evomodel/operators/AlloppSequenceReassignment.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppSequenceReassignment.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evolution.util.Taxon;
diff --git a/src/dr/evomodel/operators/BitFlipInSubstitutionModelOperator.java b/src/dr/evomodel/operators/BitFlipInSubstitutionModelOperator.java
index f8e8b23..e80d78a 100644
--- a/src/dr/evomodel/operators/BitFlipInSubstitutionModelOperator.java
+++ b/src/dr/evomodel/operators/BitFlipInSubstitutionModelOperator.java
@@ -1,7 +1,7 @@
 /*
- * BitFlipOperator.java
+ * BitFlipInSubstitutionModelOperator.java
  *
- * Copyright (C) 2002-2007 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/CCPImportanceDistributionOperator.java b/src/dr/evomodel/operators/CCPImportanceDistributionOperator.java
index 7d6fa1d..262825c 100644
--- a/src/dr/evomodel/operators/CCPImportanceDistributionOperator.java
+++ b/src/dr/evomodel/operators/CCPImportanceDistributionOperator.java
@@ -1,7 +1,7 @@
 /*
  * CCPImportanceDistributionOperator.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/operators/CategoryOperator.java b/src/dr/evomodel/operators/CategoryOperator.java
index c5b25c9..7859724 100644
--- a/src/dr/evomodel/operators/CategoryOperator.java
+++ b/src/dr/evomodel/operators/CategoryOperator.java
@@ -1,7 +1,7 @@
 /*
  * CategoryOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/ColouredExchangeOperator.java b/src/dr/evomodel/operators/ColouredExchangeOperator.java
index bf5e4f4..ca34bea 100644
--- a/src/dr/evomodel/operators/ColouredExchangeOperator.java
+++ b/src/dr/evomodel/operators/ColouredExchangeOperator.java
@@ -1,7 +1,7 @@
 /*
  * ColouredExchangeOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/ColouredOperator.java b/src/dr/evomodel/operators/ColouredOperator.java
index d50a21c..2a6c649 100644
--- a/src/dr/evomodel/operators/ColouredOperator.java
+++ b/src/dr/evomodel/operators/ColouredOperator.java
@@ -1,7 +1,7 @@
 /*
  * ColouredOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/ColouredSubtreeSlideOperator.java b/src/dr/evomodel/operators/ColouredSubtreeSlideOperator.java
index 366039e..7c7a022 100644
--- a/src/dr/evomodel/operators/ColouredSubtreeSlideOperator.java
+++ b/src/dr/evomodel/operators/ColouredSubtreeSlideOperator.java
@@ -1,7 +1,7 @@
 /*
  * ColouredSubtreeSlideOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/DiscretizedLocationOperator.java b/src/dr/evomodel/operators/DiscretizedLocationOperator.java
index 780e30e..d6352b1 100644
--- a/src/dr/evomodel/operators/DiscretizedLocationOperator.java
+++ b/src/dr/evomodel/operators/DiscretizedLocationOperator.java
@@ -1,7 +1,7 @@
 /*
  * DiscretizedLocationOperator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/EmpiricalTreeDistributionOperator.java b/src/dr/evomodel/operators/EmpiricalTreeDistributionOperator.java
index 40806fb..8864725 100644
--- a/src/dr/evomodel/operators/EmpiricalTreeDistributionOperator.java
+++ b/src/dr/evomodel/operators/EmpiricalTreeDistributionOperator.java
@@ -1,3 +1,28 @@
+/*
+ * EmpiricalTreeDistributionOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/operators/ExchangeOperator.java b/src/dr/evomodel/operators/ExchangeOperator.java
index 5d23337..2576713 100644
--- a/src/dr/evomodel/operators/ExchangeOperator.java
+++ b/src/dr/evomodel/operators/ExchangeOperator.java
@@ -1,7 +1,7 @@
 /*
  * ExchangeOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/FNPR.java b/src/dr/evomodel/operators/FNPR.java
index 83017a1..a9e1266 100644
--- a/src/dr/evomodel/operators/FNPR.java
+++ b/src/dr/evomodel/operators/FNPR.java
@@ -1,3 +1,28 @@
+/*
+ * FNPR.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  *
  */
diff --git a/src/dr/evomodel/operators/FixedColouredOperator.java b/src/dr/evomodel/operators/FixedColouredOperator.java
index aba9a85..1b149d8 100644
--- a/src/dr/evomodel/operators/FixedColouredOperator.java
+++ b/src/dr/evomodel/operators/FixedColouredOperator.java
@@ -1,7 +1,7 @@
 /*
  * FixedColouredOperator.java
  *
- * Copyright (C) 2002-2007 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/FunkyPriorMixerOperator.java b/src/dr/evomodel/operators/FunkyPriorMixerOperator.java
index ff3f4de..d16a45c 100644
--- a/src/dr/evomodel/operators/FunkyPriorMixerOperator.java
+++ b/src/dr/evomodel/operators/FunkyPriorMixerOperator.java
@@ -1,3 +1,28 @@
+/*
+ * FunkyPriorMixerOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/operators/GibbsPruneAndRegraft.java b/src/dr/evomodel/operators/GibbsPruneAndRegraft.java
index f5e1796..0fc6161 100644
--- a/src/dr/evomodel/operators/GibbsPruneAndRegraft.java
+++ b/src/dr/evomodel/operators/GibbsPruneAndRegraft.java
@@ -1,3 +1,28 @@
+/*
+ * GibbsPruneAndRegraft.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  *
  */
diff --git a/src/dr/evomodel/operators/GibbsSubtreeSwap.java b/src/dr/evomodel/operators/GibbsSubtreeSwap.java
index 859d89f..3d4d59c 100644
--- a/src/dr/evomodel/operators/GibbsSubtreeSwap.java
+++ b/src/dr/evomodel/operators/GibbsSubtreeSwap.java
@@ -1,3 +1,28 @@
+/*
+ * GibbsSubtreeSwap.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  *
  */
diff --git a/src/dr/evomodel/operators/ImportanceNarrowExchange.java b/src/dr/evomodel/operators/ImportanceNarrowExchange.java
index 3688486..044d2f2 100644
--- a/src/dr/evomodel/operators/ImportanceNarrowExchange.java
+++ b/src/dr/evomodel/operators/ImportanceNarrowExchange.java
@@ -1,3 +1,28 @@
+/*
+ * ImportanceNarrowExchange.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  *
  */
diff --git a/src/dr/evomodel/operators/ImportancePruneAndRegraft.java b/src/dr/evomodel/operators/ImportancePruneAndRegraft.java
index 40360a2..127e1eb 100644
--- a/src/dr/evomodel/operators/ImportancePruneAndRegraft.java
+++ b/src/dr/evomodel/operators/ImportancePruneAndRegraft.java
@@ -1,7 +1,7 @@
 /*
  * ImportancePruneAndRegraft.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/operators/ImportanceSubtreeSwap.java b/src/dr/evomodel/operators/ImportanceSubtreeSwap.java
index 0e4b0b4..ed0822d 100644
--- a/src/dr/evomodel/operators/ImportanceSubtreeSwap.java
+++ b/src/dr/evomodel/operators/ImportanceSubtreeSwap.java
@@ -1,7 +1,7 @@
 /*
  * ImportanceSubtreeSwap.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/operators/LatentLiabilityGibbs.java b/src/dr/evomodel/operators/LatentLiabilityGibbs.java
index c394408..e480a78 100644
--- a/src/dr/evomodel/operators/LatentLiabilityGibbs.java
+++ b/src/dr/evomodel/operators/LatentLiabilityGibbs.java
@@ -4,7 +4,7 @@
 /*
  * LatentLiabilityGibbs.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/LinkageGroupSwap.java b/src/dr/evomodel/operators/LinkageGroupSwap.java
index 4483892..3b7d712 100644
--- a/src/dr/evomodel/operators/LinkageGroupSwap.java
+++ b/src/dr/evomodel/operators/LinkageGroupSwap.java
@@ -1,3 +1,28 @@
+/*
+ * LinkageGroupSwap.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evolution.alignment.Alignment;
diff --git a/src/dr/evomodel/operators/MoveLinkageGroup.java b/src/dr/evomodel/operators/MoveLinkageGroup.java
index 77142bd..9e2b061 100644
--- a/src/dr/evomodel/operators/MoveLinkageGroup.java
+++ b/src/dr/evomodel/operators/MoveLinkageGroup.java
@@ -1,3 +1,28 @@
+/*
+ * MoveLinkageGroup.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evolution.util.Taxon;
diff --git a/src/dr/evomodel/operators/MulTreeNodeSlide.java b/src/dr/evomodel/operators/MulTreeNodeSlide.java
index a74c305..f6f19f8 100644
--- a/src/dr/evomodel/operators/MulTreeNodeSlide.java
+++ b/src/dr/evomodel/operators/MulTreeNodeSlide.java
@@ -1,3 +1,28 @@
+/*
+ * MulTreeNodeSlide.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/operators/MulTreeSequenceReassignment.java b/src/dr/evomodel/operators/MulTreeSequenceReassignment.java
index 9777c9b..6fe0e39 100644
--- a/src/dr/evomodel/operators/MulTreeSequenceReassignment.java
+++ b/src/dr/evomodel/operators/MulTreeSequenceReassignment.java
@@ -1,4 +1,29 @@
 
+/*
+ * MulTreeSequenceReassignment.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evomodel.speciation.MulSpeciesBindings;
diff --git a/src/dr/evomodel/operators/NNI.java b/src/dr/evomodel/operators/NNI.java
index 9c4afd5..cd934ea 100644
--- a/src/dr/evomodel/operators/NNI.java
+++ b/src/dr/evomodel/operators/NNI.java
@@ -1,3 +1,28 @@
+/*
+ * NNI.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  *
  */
diff --git a/src/dr/evomodel/operators/NodeHeightScaleOperator.java b/src/dr/evomodel/operators/NodeHeightScaleOperator.java
index b26bd07..decfac9 100644
--- a/src/dr/evomodel/operators/NodeHeightScaleOperator.java
+++ b/src/dr/evomodel/operators/NodeHeightScaleOperator.java
@@ -1,3 +1,28 @@
+/*
+ * NodeHeightScaleOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/operators/OldLatentLiabilityGibbsOperator.java b/src/dr/evomodel/operators/OldLatentLiabilityGibbsOperator.java
index ca5b4c1..dbdfee8 100644
--- a/src/dr/evomodel/operators/OldLatentLiabilityGibbsOperator.java
+++ b/src/dr/evomodel/operators/OldLatentLiabilityGibbsOperator.java
@@ -1,7 +1,7 @@
 /*
  * OldLatentLiabilityGibbsOperator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/PopsIOTreeNodeSlide.java b/src/dr/evomodel/operators/PopsIOTreeNodeSlide.java
index 12e8856..f674822 100644
--- a/src/dr/evomodel/operators/PopsIOTreeNodeSlide.java
+++ b/src/dr/evomodel/operators/PopsIOTreeNodeSlide.java
@@ -1,3 +1,28 @@
+/*
+ * PopsIOTreeNodeSlide.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 /**
diff --git a/src/dr/evomodel/operators/PrecisionMatrixGibbsOperator.java b/src/dr/evomodel/operators/PrecisionMatrixGibbsOperator.java
index 9d1b3c5..4741638 100644
--- a/src/dr/evomodel/operators/PrecisionMatrixGibbsOperator.java
+++ b/src/dr/evomodel/operators/PrecisionMatrixGibbsOperator.java
@@ -1,7 +1,7 @@
 /*
  * PrecisionMatrixGibbsOperator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -43,6 +43,7 @@ import dr.math.distributions.WishartStatistics;
 import dr.math.distributions.WishartSufficientStatistics;
 import dr.math.interfaces.ConjugateWishartStatisticsProvider;
 import dr.math.matrixAlgebra.IllegalDimension;
+import dr.math.matrixAlgebra.Matrix;
 import dr.math.matrixAlgebra.SymmetricMatrix;
 import dr.util.Attribute;
 import dr.xml.*;
@@ -221,8 +222,22 @@ public class PrecisionMatrixGibbsOperator extends SimpleMCMCOperator implements
             System.arraycopy(outerProducts[i], 0, S[i], 0, S[i].length);
         }
         numberObservations = df;
+
+
+//        checkDiagonals(outerProducts);
+
+
     }
 
+//    private void checkDiagonals(double[][] S) {
+//        for (int i = 0; i < S.length; ++i) {
+//            if (S[i][i] < 0.0) {
+//                System.err.println("ERROR diag(S)\n" + new Matrix(S));
+//                System.exit(-1);
+//            }
+//        }
+//    }
+
     private void incrementOuterProduct(double[][] S, NodeRef node) {
 
         if (!treeModel.isRoot(node)) {
@@ -280,6 +295,23 @@ public class PrecisionMatrixGibbsOperator extends SimpleMCMCOperator implements
                 S2 = priorInverseScaleMatrix.add(S2);
             inverseS2 = (SymmetricMatrix) S2.inverse();
 
+//            if (S[0][0] < 0.0) {
+//                 System.err.println("ERROR A");
+//                 System.err.println(new Matrix(S));
+//             }
+//
+//            if (S2.component(0, 0) < 0.0) {
+//                 System.err.println("ERROR B");
+//                 System.err.println(S2);
+//             }
+//
+//            if (inverseS2.component(0, 0) < 0.0) {
+//                 System.err.println("ERROR C");
+//                 System.err.println("S:\n" + new Matrix(S));
+//                 System.err.println("S2:\n" + S2);
+//                 System.err.println(inverseS2);
+//             }
+
         } catch (IllegalDimension illegalDimension) {
             illegalDimension.printStackTrace();
         }
@@ -299,6 +331,11 @@ public class PrecisionMatrixGibbsOperator extends SimpleMCMCOperator implements
         final double treeDf = numberObservations;
         final double df = priorDf + treeDf * pathWeight;
 
+//        if (scaleMatrix[0][0] < 0.0) {
+//             System.err.println("ERROR");
+//             System.err.println(new Matrix(scaleMatrix));
+//         }
+
         double[][] draw = WishartDistribution.nextWishart(df, scaleMatrix);
 //        int tries  = 0;
 //        int limit = 100;
diff --git a/src/dr/evomodel/operators/RLCNarrowExchangeOperator.java b/src/dr/evomodel/operators/RLCNarrowExchangeOperator.java
index c9c6a18..5553a0b 100644
--- a/src/dr/evomodel/operators/RLCNarrowExchangeOperator.java
+++ b/src/dr/evomodel/operators/RLCNarrowExchangeOperator.java
@@ -1,7 +1,7 @@
 /*
- * ExchangeOperator.java
+ * RLCNarrowExchangeOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/RandomWalkOnMapOperator.java b/src/dr/evomodel/operators/RandomWalkOnMapOperator.java
index 4d99b40..b883b6c 100644
--- a/src/dr/evomodel/operators/RandomWalkOnMapOperator.java
+++ b/src/dr/evomodel/operators/RandomWalkOnMapOperator.java
@@ -1,7 +1,7 @@
 /*
  * RandomWalkOnMapOperator.java
  *
- * Copyright (C) 2002-2007 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/RateExchangeOperator.java b/src/dr/evomodel/operators/RateExchangeOperator.java
index 9745088..d94730d 100644
--- a/src/dr/evomodel/operators/RateExchangeOperator.java
+++ b/src/dr/evomodel/operators/RateExchangeOperator.java
@@ -1,7 +1,7 @@
 /*
  * RateExchangeOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/RateSampleOperator.java b/src/dr/evomodel/operators/RateSampleOperator.java
index 0887ed5..ec13c91 100644
--- a/src/dr/evomodel/operators/RateSampleOperator.java
+++ b/src/dr/evomodel/operators/RateSampleOperator.java
@@ -1,3 +1,28 @@
+/*
+ * RateSampleOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/operators/RateScaleOperator.java b/src/dr/evomodel/operators/RateScaleOperator.java
index b6aacca..4da75ba 100644
--- a/src/dr/evomodel/operators/RateScaleOperator.java
+++ b/src/dr/evomodel/operators/RateScaleOperator.java
@@ -1,3 +1,28 @@
+/*
+ * RateScaleOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/operators/RateVarianceScaleOperator.java b/src/dr/evomodel/operators/RateVarianceScaleOperator.java
index aad60ed..2631bde 100644
--- a/src/dr/evomodel/operators/RateVarianceScaleOperator.java
+++ b/src/dr/evomodel/operators/RateVarianceScaleOperator.java
@@ -1,7 +1,7 @@
 /*
  * RateVarianceScaleOperator.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/operators/SubtreeJumpOperator.java b/src/dr/evomodel/operators/SubtreeJumpOperator.java
index 8a5a37e..bb41b36 100644
--- a/src/dr/evomodel/operators/SubtreeJumpOperator.java
+++ b/src/dr/evomodel/operators/SubtreeJumpOperator.java
@@ -1,7 +1,7 @@
 /*
- * SubtreeSlideOperator.java
+ * SubtreeJumpOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -29,11 +29,7 @@ import dr.evolution.tree.NodeRef;
 import dr.evolution.tree.Tree;
 import dr.evomodel.tree.TreeModel;
 import dr.evomodelxml.operators.SubtreeJumpOperatorParser;
-import dr.evomodelxml.operators.SubtreeSlideOperatorParser;
-import dr.inference.operators.CoercableMCMCOperator;
-import dr.inference.operators.CoercionMode;
-import dr.inference.operators.OperatorFailedException;
-import dr.inference.operators.OperatorUtils;
+import dr.inference.operators.*;
 import dr.math.MathUtils;
 
 import java.util.ArrayList;
@@ -45,56 +41,86 @@ import java.util.List;
  * @author Andrew Rambaut
  * @version $Id$
  */
-public class SubtreeJumpOperator extends AbstractTreeOperator /* implements CoercableMCMCOperator */ { // not coercable at the moment.
+public class SubtreeJumpOperator extends AbstractTreeOperator implements CoercableMCMCOperator {
+    private static final double SCALE_ALPHA = 10.0;
 
-    private TreeModel tree = null;
-//    private CoercionMode mode = CoercionMode.DEFAULT;
+    private double bias = 0.0;
 
-    public SubtreeJumpOperator(TreeModel tree, double weight) {
+    private final TreeModel tree;
+    private final CoercionMode mode;
+    private final boolean arctanTransform;;
+
+    /**
+     * Constructor
+     * @param tree
+     * @param weight
+     * @param bias a value used as a power coeficient for the relatedness weights
+     * @param mode
+     */
+    public SubtreeJumpOperator(TreeModel tree, double weight, double bias, boolean arctanTransform, CoercionMode mode) {
         this.tree = tree;
         setWeight(weight);
+        this.bias = bias;
+        this.arctanTransform = arctanTransform;
+        this.mode = mode;
     }
-
     /**
      * Do a subtree jump move.
      *
      * @return the log-transformed hastings ratio
      */
     public double doOperation() throws OperatorFailedException {
-
         double logq;
 
+        final double alpha =  (arctanTransform ? Math.atan(bias) * SCALE_ALPHA : Math.log(bias) );
+
         final NodeRef root = tree.getRoot();
-        final double oldTreeHeight = tree.getNodeHeight(root);
+
+		double  maxHeight = tree.getNodeHeight(root);
 
         NodeRef i;
+        NodeRef iP = null;
+        NodeRef CiP = null;
+        NodeRef PiP = null;
+        double height = Double.NaN;
+        List<NodeRef> destinations = null;
 
-        // 1. choose a random node avoiding root or child of root
+        boolean destinationFound = false;
         do {
+            // 1. choose a random node avoiding root or child of root
             i = tree.getNode(MathUtils.nextInt(tree.getNodeCount()));
-        } while (root == i || tree.getParent(i) == root);
 
+            if (root == i || tree.getParent(i) == root) {
+                continue;
+            }
+
+            iP = tree.getParent(i);
+            CiP = getOtherChild(tree, iP, i);
+            PiP = tree.getParent(iP);
+
+            // get the height of the parent
+            height = tree.getNodeHeight(iP);
+
+            // get a list of all edges that intersect this height
+            destinations = getIntersectingEdges(tree, height);
 
-        final NodeRef iP = tree.getParent(i);
-        final NodeRef CiP = getOtherChild(tree, iP, i);
-        final NodeRef PiP = tree.getParent(iP);
+            if (destinations.size() > 0) {
+                destinationFound = true;
+            }
 
-        // get the height of the parent
-        final double height = tree.getNodeHeight(iP);
+        } while (!destinationFound);
 
-        // get a list of all edges that intersect this height
-        final List<NodeRef> destinations = getIntersectingEdges(tree, height);
+		double[] pdf = getDestinationProbabilities(tree, i, height, maxHeight, destinations, alpha);
 
         // remove the target node and its sibling (shouldn't be there because their parent's height is exactly equal to the target height).
         destinations.remove(i);
         destinations.remove(CiP);
 
-        if (destinations.size() < 1) {
-            throw new OperatorFailedException("no destinations to jump to");
-        }
-
         // pick uniformly from this list
-        final NodeRef j = destinations.get(MathUtils.nextInt(destinations.size()));
+        int r = MathUtils.randomChoicePDF(pdf);
+
+        double forwardProbability = pdf[r];
+        final NodeRef j = destinations.get(r);
         final NodeRef jP = tree.getParent(j);
 
         tree.beginTreeEdit();
@@ -115,11 +141,20 @@ public class SubtreeJumpOperator extends AbstractTreeOperator /* implements Coer
 
         tree.endTreeEdit();
 
-        logq = 0.0;
+        final List<NodeRef> reverseDestinations = getIntersectingEdges(tree, height);
+		double reverseProbability = getReverseProbability(tree, CiP, j, height, maxHeight, reverseDestinations, alpha);
 
+        // hastings ratio = reverse Prob / forward Prob
+        logq = Math.log(reverseProbability) - Math.log(forwardProbability);
         return logq;
     }
 
+    /**
+     * Gets a list of edges that subtend the given height
+     * @param tree
+     * @param height
+     * @return
+     */
     private List<NodeRef> getIntersectingEdges(Tree tree, double height) {
 
         List<NodeRef> intersectingEdges = new ArrayList<NodeRef>();
@@ -127,14 +162,76 @@ public class SubtreeJumpOperator extends AbstractTreeOperator /* implements Coer
         for (int i = 0; i < tree.getNodeCount(); i++) {
             final NodeRef node = tree.getNode(i);
             final NodeRef parent = tree.getParent(node);
+
+            // The original node and its sibling will not be included because their height is exactly equal to the target height
             if (parent != null && tree.getNodeHeight(node) < height && tree.getNodeHeight(parent) > height) {
                 intersectingEdges.add(node);
             }
         }
-
         return intersectingEdges;
     }
 
+	private double[] getDestinationProbabilities(Tree tree, NodeRef node0, double height, double maxAge, List<NodeRef> intersectingEdges, double alpha) {
+        double[] weights = new double[intersectingEdges.size()];
+        double sum = 0.0;
+        int i = 0;
+        for (NodeRef node1 : intersectingEdges) {
+            assert(node1 != node0);
+
+            double age = tree.getNodeHeight(Tree.Utils.getCommonAncestor(tree, node0, node1)) - height;
+			age = age/maxAge;
+            weights[i] = getJumpWeight(age, alpha);
+            sum += weights[i];
+            i++;
+        }
+        for (int j = 0; j < weights.length; j++) {
+            weights[j] /= sum;
+        }
+
+        return weights;
+    }
+
+	private double getReverseProbability(Tree tree, NodeRef originalNode, NodeRef targetNode, double height, double maxAge, List<NodeRef> intersectingEdges, double alpha) {
+        double[] weights = new double[intersectingEdges.size()];
+        double sum = 0.0;
+
+        int i = 0;
+        int originalIndex = -1;
+        for (NodeRef node1 : intersectingEdges) {
+            assert(node1 != targetNode);
+
+            double age = tree.getNodeHeight(Tree.Utils.getCommonAncestor(tree, targetNode, node1)) - height;
+			age = age/maxAge;
+            weights[i] = getJumpWeight(age, alpha);
+            sum += weights[i];
+
+            if (node1 == originalNode) {
+                originalIndex = i;
+            }
+            i++;
+        }
+        return weights[originalIndex] /= sum;
+    }
+
+    private double getJumpWeight(double age, double alpha) {
+        return Math.pow(age, alpha) + Double.MIN_VALUE;
+    }
+
+    public double getCoercableParameter() {
+        return bias;
+    }
+
+    public void setCoercableParameter(double value) {
+        bias = value;
+    }
+
+    public double getRawParameter() {
+        return bias;
+    }
+
+    public CoercionMode getMode() {
+        return mode;
+    }
 
     public double getTargetAcceptanceProbability() {
         return 0.234;
@@ -142,22 +239,20 @@ public class SubtreeJumpOperator extends AbstractTreeOperator /* implements Coer
 
 
     public String getPerformanceSuggestion() {
-        return "";
-
-//        double prob = Utils.getAcceptanceProbability(this);
-//        double targetProb = getTargetAcceptanceProbability();
-//
-//        double ws = OperatorUtils.optimizeWindowSize(getSize(), Double.MAX_VALUE, prob, targetProb);
-//
-//        if (prob < getMinimumGoodAcceptanceLevel()) {
-//            return "Try decreasing size to about " + ws;
-//        } else if (prob > getMaximumGoodAcceptanceLevel()) {
-//            return "Try increasing size to about " + ws;
-//        } else return "";
+        double prob = MCMCOperator.Utils.getAcceptanceProbability(this);
+        double targetProb = getTargetAcceptanceProbability();
+
+        double ws = OperatorUtils.optimizeWindowSize(bias, Double.MAX_VALUE, prob, targetProb);
+
+        if (prob < getMinimumGoodAcceptanceLevel()) {
+            return "Try decreasing size to about " + ws;
+        } else if (prob > getMaximumGoodAcceptanceLevel()) {
+            return "Try increasing size to about " + ws;
+        } else return "";
     }
 
+
     public String getOperatorName() {
         return SubtreeJumpOperatorParser.SUBTREE_JUMP + "(" + tree.getId() + ")";
     }
-
 }
diff --git a/src/dr/evomodel/operators/SubtreeSlideOperator.java b/src/dr/evomodel/operators/SubtreeSlideOperator.java
index 17abcc7..0adbf5e 100644
--- a/src/dr/evomodel/operators/SubtreeSlideOperator.java
+++ b/src/dr/evomodel/operators/SubtreeSlideOperator.java
@@ -1,7 +1,7 @@
 /*
  * SubtreeSlideOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/TipStateSwapOperator.java b/src/dr/evomodel/operators/TipStateSwapOperator.java
index 7548d90..1cdf1a1 100644
--- a/src/dr/evomodel/operators/TipStateSwapOperator.java
+++ b/src/dr/evomodel/operators/TipStateSwapOperator.java
@@ -1,3 +1,28 @@
+/*
+ * TipStateSwapOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evomodel.treelikelihood.AbstractLikelihoodCore;
diff --git a/src/dr/evomodel/operators/TipTraitSwapOperator.java b/src/dr/evomodel/operators/TipTraitSwapOperator.java
index d0c0dd9..fdf1bc7 100644
--- a/src/dr/evomodel/operators/TipTraitSwapOperator.java
+++ b/src/dr/evomodel/operators/TipTraitSwapOperator.java
@@ -1,3 +1,28 @@
+/*
+ * TipTraitSwapOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evomodel.continuous.AbstractMultivariateTraitLikelihood;
diff --git a/src/dr/evomodel/operators/TraitGibbsOperator.java b/src/dr/evomodel/operators/TraitGibbsOperator.java
index 58c7c45..5dfb31a 100644
--- a/src/dr/evomodel/operators/TraitGibbsOperator.java
+++ b/src/dr/evomodel/operators/TraitGibbsOperator.java
@@ -1,7 +1,7 @@
 /*
  * TraitGibbsOperator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/TraitRateGibbsOperator.java b/src/dr/evomodel/operators/TraitRateGibbsOperator.java
index 67ff238..1d599f8 100644
--- a/src/dr/evomodel/operators/TraitRateGibbsOperator.java
+++ b/src/dr/evomodel/operators/TraitRateGibbsOperator.java
@@ -1,7 +1,7 @@
 /*
  * TraitRateGibbsOperator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/TreeBitMoveOperator.java b/src/dr/evomodel/operators/TreeBitMoveOperator.java
index 8f99f50..1240304 100644
--- a/src/dr/evomodel/operators/TreeBitMoveOperator.java
+++ b/src/dr/evomodel/operators/TreeBitMoveOperator.java
@@ -1,3 +1,28 @@
+/*
+ * TreeBitMoveOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/operators/TreeBitRandomWalkOperator.java b/src/dr/evomodel/operators/TreeBitRandomWalkOperator.java
index f281f7e..b2e1f0c 100644
--- a/src/dr/evomodel/operators/TreeBitRandomWalkOperator.java
+++ b/src/dr/evomodel/operators/TreeBitRandomWalkOperator.java
@@ -1,3 +1,28 @@
+/*
+ * TreeBitRandomWalkOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/operators/TreeNodeSlide.java b/src/dr/evomodel/operators/TreeNodeSlide.java
index 7e2b2cf..78146d1 100644
--- a/src/dr/evomodel/operators/TreeNodeSlide.java
+++ b/src/dr/evomodel/operators/TreeNodeSlide.java
@@ -1,3 +1,28 @@
+/*
+ * TreeNodeSlide.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/operators/TreeUniform.java b/src/dr/evomodel/operators/TreeUniform.java
index dd82760..052c288 100644
--- a/src/dr/evomodel/operators/TreeUniform.java
+++ b/src/dr/evomodel/operators/TreeUniform.java
@@ -1,7 +1,7 @@
 /*
- * ExchangeOperator.java
+ * TreeUniform.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/operators/WilsonBalding.java b/src/dr/evomodel/operators/WilsonBalding.java
index 9ff1026..b4052de 100644
--- a/src/dr/evomodel/operators/WilsonBalding.java
+++ b/src/dr/evomodel/operators/WilsonBalding.java
@@ -1,7 +1,7 @@
 /*
  * WilsonBalding.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/simulator/Simulator.java b/src/dr/evomodel/simulator/Simulator.java
index 1859c6b..997ca79 100644
--- a/src/dr/evomodel/simulator/Simulator.java
+++ b/src/dr/evomodel/simulator/Simulator.java
@@ -1,7 +1,7 @@
 /*
  * Simulator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/sitemodel/AlignmentScore.java b/src/dr/evomodel/sitemodel/AlignmentScore.java
index e8c8db8..ce2f2e6 100644
--- a/src/dr/evomodel/sitemodel/AlignmentScore.java
+++ b/src/dr/evomodel/sitemodel/AlignmentScore.java
@@ -1,7 +1,7 @@
 /*
  * AlignmentScore.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/sitemodel/CategoryParameterStatistic.java b/src/dr/evomodel/sitemodel/CategoryParameterStatistic.java
index 5b5e5f6..f76d49f 100644
--- a/src/dr/evomodel/sitemodel/CategoryParameterStatistic.java
+++ b/src/dr/evomodel/sitemodel/CategoryParameterStatistic.java
@@ -1,7 +1,7 @@
 /*
  * CategoryParameterStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/sitemodel/CategorySampleModel.java b/src/dr/evomodel/sitemodel/CategorySampleModel.java
index 3108443..8abd7dc 100644
--- a/src/dr/evomodel/sitemodel/CategorySampleModel.java
+++ b/src/dr/evomodel/sitemodel/CategorySampleModel.java
@@ -1,7 +1,7 @@
 /*
  * CategorySampleModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/sitemodel/CategorySiteModel.java b/src/dr/evomodel/sitemodel/CategorySiteModel.java
index 47b8396..6b26246 100644
--- a/src/dr/evomodel/sitemodel/CategorySiteModel.java
+++ b/src/dr/evomodel/sitemodel/CategorySiteModel.java
@@ -1,7 +1,7 @@
 /*
  * CategorySiteModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/sitemodel/DirichletSiteModel.java b/src/dr/evomodel/sitemodel/DirichletSiteModel.java
index 1f7b762..f093da3 100644
--- a/src/dr/evomodel/sitemodel/DirichletSiteModel.java
+++ b/src/dr/evomodel/sitemodel/DirichletSiteModel.java
@@ -1,8 +1,7 @@
 /*
  * DirichletSiteModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
- * Copyright (C) 2009      Benjamin Redelings
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/sitemodel/DiscretizedLociRates.java b/src/dr/evomodel/sitemodel/DiscretizedLociRates.java
index 0be6469..1b5e968 100644
--- a/src/dr/evomodel/sitemodel/DiscretizedLociRates.java
+++ b/src/dr/evomodel/sitemodel/DiscretizedLociRates.java
@@ -1,3 +1,28 @@
+/*
+ * DiscretizedLociRates.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.sitemodel;
 
 import dr.inference.model.*;
diff --git a/src/dr/evomodel/sitemodel/GammaSiteBMA.java b/src/dr/evomodel/sitemodel/GammaSiteBMA.java
index bfd3847..96faadd 100644
--- a/src/dr/evomodel/sitemodel/GammaSiteBMA.java
+++ b/src/dr/evomodel/sitemodel/GammaSiteBMA.java
@@ -1,3 +1,28 @@
+/*
+ * GammaSiteBMA.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.sitemodel;
 
 import dr.evomodel.substmodel.SubstitutionModel;
diff --git a/src/dr/evomodel/sitemodel/GammaSiteModel.java b/src/dr/evomodel/sitemodel/GammaSiteModel.java
index 25eaafc..535bc8c 100644
--- a/src/dr/evomodel/sitemodel/GammaSiteModel.java
+++ b/src/dr/evomodel/sitemodel/GammaSiteModel.java
@@ -1,7 +1,7 @@
 /*
  * GammaSiteModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/sitemodel/PairDistance.java b/src/dr/evomodel/sitemodel/PairDistance.java
index 344f245..c7a8519 100644
--- a/src/dr/evomodel/sitemodel/PairDistance.java
+++ b/src/dr/evomodel/sitemodel/PairDistance.java
@@ -1,7 +1,7 @@
 /*
  * PairDistance.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/sitemodel/SampleQuantileLociRates.java b/src/dr/evomodel/sitemodel/SampleQuantileLociRates.java
index 4abbbc8..933866e 100644
--- a/src/dr/evomodel/sitemodel/SampleQuantileLociRates.java
+++ b/src/dr/evomodel/sitemodel/SampleQuantileLociRates.java
@@ -1,3 +1,28 @@
+/*
+ * SampleQuantileLociRates.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.sitemodel;
 
 import dr.inference.model.*;
diff --git a/src/dr/evomodel/sitemodel/SampleStateAndCategoryModel.java b/src/dr/evomodel/sitemodel/SampleStateAndCategoryModel.java
index 792d732..18ec390 100644
--- a/src/dr/evomodel/sitemodel/SampleStateAndCategoryModel.java
+++ b/src/dr/evomodel/sitemodel/SampleStateAndCategoryModel.java
@@ -1,7 +1,7 @@
 /*
  * SampleStateAndCategoryModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/sitemodel/SampleStateModel.java b/src/dr/evomodel/sitemodel/SampleStateModel.java
index 9e68df7..ab66589 100644
--- a/src/dr/evomodel/sitemodel/SampleStateModel.java
+++ b/src/dr/evomodel/sitemodel/SampleStateModel.java
@@ -1,7 +1,7 @@
 /*
  * SampleStateModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/sitemodel/ScoreMatrix.java b/src/dr/evomodel/sitemodel/ScoreMatrix.java
index 9c4ae9a..4b3d03d 100644
--- a/src/dr/evomodel/sitemodel/ScoreMatrix.java
+++ b/src/dr/evomodel/sitemodel/ScoreMatrix.java
@@ -1,7 +1,7 @@
 /*
  * ScoreMatrix.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/sitemodel/SiteModel.java b/src/dr/evomodel/sitemodel/SiteModel.java
index 1b73ebd..f902a9a 100644
--- a/src/dr/evomodel/sitemodel/SiteModel.java
+++ b/src/dr/evomodel/sitemodel/SiteModel.java
@@ -1,7 +1,7 @@
 /*
  * SiteModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/sitemodel/SiteRateModel.java b/src/dr/evomodel/sitemodel/SiteRateModel.java
index 4c145c5..f585e4a 100644
--- a/src/dr/evomodel/sitemodel/SiteRateModel.java
+++ b/src/dr/evomodel/sitemodel/SiteRateModel.java
@@ -1,7 +1,7 @@
 /*
  * SiteRateModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/speciation/AlloppDiploidHistory.java b/src/dr/evomodel/speciation/AlloppDiploidHistory.java
index 2d95565..a9bd141 100644
--- a/src/dr/evomodel/speciation/AlloppDiploidHistory.java
+++ b/src/dr/evomodel/speciation/AlloppDiploidHistory.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppDiploidHistory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import java.util.ArrayList;
diff --git a/src/dr/evomodel/speciation/AlloppLeggedTree.java b/src/dr/evomodel/speciation/AlloppLeggedTree.java
index 91fd587..979186a 100644
--- a/src/dr/evomodel/speciation/AlloppLeggedTree.java
+++ b/src/dr/evomodel/speciation/AlloppLeggedTree.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppLeggedTree.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import java.util.ArrayList;
diff --git a/src/dr/evomodel/speciation/AlloppMSCoalescent.java b/src/dr/evomodel/speciation/AlloppMSCoalescent.java
index a4cb1c4..31bf7e8 100644
--- a/src/dr/evomodel/speciation/AlloppMSCoalescent.java
+++ b/src/dr/evomodel/speciation/AlloppMSCoalescent.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppMSCoalescent.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 
diff --git a/src/dr/evomodel/speciation/AlloppMulLabTree.java b/src/dr/evomodel/speciation/AlloppMulLabTree.java
index 817780a..cd720d4 100644
--- a/src/dr/evomodel/speciation/AlloppMulLabTree.java
+++ b/src/dr/evomodel/speciation/AlloppMulLabTree.java
@@ -1,5 +1,30 @@
 
 
+/*
+ * AlloppMulLabTree.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import java.util.ArrayList;
diff --git a/src/dr/evomodel/speciation/AlloppNetworkPrior.java b/src/dr/evomodel/speciation/AlloppNetworkPrior.java
index 656129a..48b3524 100644
--- a/src/dr/evomodel/speciation/AlloppNetworkPrior.java
+++ b/src/dr/evomodel/speciation/AlloppNetworkPrior.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppNetworkPrior.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import dr.inference.distribution.ParametricDistributionModel;
diff --git a/src/dr/evomodel/speciation/AlloppNetworkPriorModel.java b/src/dr/evomodel/speciation/AlloppNetworkPriorModel.java
index 377ba15..af10b61 100644
--- a/src/dr/evomodel/speciation/AlloppNetworkPriorModel.java
+++ b/src/dr/evomodel/speciation/AlloppNetworkPriorModel.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppNetworkPriorModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodel/speciation/AlloppNode.java b/src/dr/evomodel/speciation/AlloppNode.java
index 8b2f1cd..94ac5b2 100644
--- a/src/dr/evomodel/speciation/AlloppNode.java
+++ b/src/dr/evomodel/speciation/AlloppNode.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppNode.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 
diff --git a/src/dr/evomodel/speciation/AlloppNumHybsStatistic.java b/src/dr/evomodel/speciation/AlloppNumHybsStatistic.java
index bbd0d95..6874475 100644
--- a/src/dr/evomodel/speciation/AlloppNumHybsStatistic.java
+++ b/src/dr/evomodel/speciation/AlloppNumHybsStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppNumHybsStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import dr.inference.model.Statistic;
diff --git a/src/dr/evomodel/speciation/AlloppSpeciesBindings.java b/src/dr/evomodel/speciation/AlloppSpeciesBindings.java
index 8b019cd..ba3c9eb 100644
--- a/src/dr/evomodel/speciation/AlloppSpeciesBindings.java
+++ b/src/dr/evomodel/speciation/AlloppSpeciesBindings.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppSpeciesBindings.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 
diff --git a/src/dr/evomodel/speciation/AlloppSpeciesNetworkModel.java b/src/dr/evomodel/speciation/AlloppSpeciesNetworkModel.java
index 824e9be..bcd5256 100644
--- a/src/dr/evomodel/speciation/AlloppSpeciesNetworkModel.java
+++ b/src/dr/evomodel/speciation/AlloppSpeciesNetworkModel.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppSpeciesNetworkModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 
diff --git a/src/dr/evomodel/speciation/BetaSplittingModel.java b/src/dr/evomodel/speciation/BetaSplittingModel.java
index 14787fb..4d80d43 100644
--- a/src/dr/evomodel/speciation/BetaSplittingModel.java
+++ b/src/dr/evomodel/speciation/BetaSplittingModel.java
@@ -1,7 +1,7 @@
 /*
  * BetaSplittingModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/speciation/BirthDeathCollapseModel.java b/src/dr/evomodel/speciation/BirthDeathCollapseModel.java
index a7ab67e..8dd5bdd 100644
--- a/src/dr/evomodel/speciation/BirthDeathCollapseModel.java
+++ b/src/dr/evomodel/speciation/BirthDeathCollapseModel.java
@@ -1,4 +1,29 @@
 /*
+ * BirthDeathCollapseModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
         This file is part of BEAST.
 
         BEAST is free software: you can redistribute it and/or modify
diff --git a/src/dr/evomodel/speciation/BirthDeathCollapseNClustersStatistic.java b/src/dr/evomodel/speciation/BirthDeathCollapseNClustersStatistic.java
index 80ea012..fa8c5dd 100644
--- a/src/dr/evomodel/speciation/BirthDeathCollapseNClustersStatistic.java
+++ b/src/dr/evomodel/speciation/BirthDeathCollapseNClustersStatistic.java
@@ -1,4 +1,29 @@
 /*
+ * BirthDeathCollapseNClustersStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+/*
         This file is part of BEAST.
 
         BEAST is free software: you can redistribute it and/or modify
diff --git a/src/dr/evomodel/speciation/BirthDeathGernhard08Model.java b/src/dr/evomodel/speciation/BirthDeathGernhard08Model.java
index 5e9116a..d82c5fc 100644
--- a/src/dr/evomodel/speciation/BirthDeathGernhard08Model.java
+++ b/src/dr/evomodel/speciation/BirthDeathGernhard08Model.java
@@ -1,7 +1,7 @@
 /*
  * BirthDeathGernhard08Model.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/speciation/BirthDeathSerialSamplingModel.java b/src/dr/evomodel/speciation/BirthDeathSerialSamplingModel.java
index 8779ee0..d0a45d2 100644
--- a/src/dr/evomodel/speciation/BirthDeathSerialSamplingModel.java
+++ b/src/dr/evomodel/speciation/BirthDeathSerialSamplingModel.java
@@ -1,7 +1,7 @@
 /*
  * BirthDeathSerialSamplingModel.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/speciation/BirthDeathSerialSkylineModel.java b/src/dr/evomodel/speciation/BirthDeathSerialSkylineModel.java
index de8d88f..784efbf 100644
--- a/src/dr/evomodel/speciation/BirthDeathSerialSkylineModel.java
+++ b/src/dr/evomodel/speciation/BirthDeathSerialSkylineModel.java
@@ -1,7 +1,7 @@
 /*
  * BirthDeathSerialSkylineModel.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/speciation/BranchingLikelihood.java b/src/dr/evomodel/speciation/BranchingLikelihood.java
index e96a386..f1ac62b 100644
--- a/src/dr/evomodel/speciation/BranchingLikelihood.java
+++ b/src/dr/evomodel/speciation/BranchingLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * BranchingLikelihood.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/speciation/BranchingModel.java b/src/dr/evomodel/speciation/BranchingModel.java
index 77c823b..ae74592 100644
--- a/src/dr/evomodel/speciation/BranchingModel.java
+++ b/src/dr/evomodel/speciation/BranchingModel.java
@@ -1,7 +1,7 @@
 /*
  * BranchingModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/speciation/CalibrationLineagesIterator.java b/src/dr/evomodel/speciation/CalibrationLineagesIterator.java
index 6ef9a57..443df70 100644
--- a/src/dr/evomodel/speciation/CalibrationLineagesIterator.java
+++ b/src/dr/evomodel/speciation/CalibrationLineagesIterator.java
@@ -1,3 +1,28 @@
+/*
+ * CalibrationLineagesIterator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 /**
diff --git a/src/dr/evomodel/speciation/CalibrationPoints.java b/src/dr/evomodel/speciation/CalibrationPoints.java
index cf43eb0..b6a637e 100644
--- a/src/dr/evomodel/speciation/CalibrationPoints.java
+++ b/src/dr/evomodel/speciation/CalibrationPoints.java
@@ -1,3 +1,28 @@
+/*
+ * CalibrationPoints.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/speciation/MaskableSpeciationModel.java b/src/dr/evomodel/speciation/MaskableSpeciationModel.java
index 576e2ea..c88bdc9 100644
--- a/src/dr/evomodel/speciation/MaskableSpeciationModel.java
+++ b/src/dr/evomodel/speciation/MaskableSpeciationModel.java
@@ -1,3 +1,28 @@
+/*
+ * MaskableSpeciationModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 /**
diff --git a/src/dr/evomodel/speciation/ModelAveragingResearch/MAIndexResearch.java b/src/dr/evomodel/speciation/ModelAveragingResearch/MAIndexResearch.java
index 58ca848..42aafab 100644
--- a/src/dr/evomodel/speciation/ModelAveragingResearch/MAIndexResearch.java
+++ b/src/dr/evomodel/speciation/ModelAveragingResearch/MAIndexResearch.java
@@ -1,3 +1,28 @@
+/*
+ * MAIndexResearch.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation.ModelAveragingResearch;
 
 import java.util.ArrayList;
diff --git a/src/dr/evomodel/speciation/ModelAveragingResearch/MAIndexResearchLog.java b/src/dr/evomodel/speciation/ModelAveragingResearch/MAIndexResearchLog.java
index 57627a5..7e7a17d 100644
--- a/src/dr/evomodel/speciation/ModelAveragingResearch/MAIndexResearchLog.java
+++ b/src/dr/evomodel/speciation/ModelAveragingResearch/MAIndexResearchLog.java
@@ -1,3 +1,28 @@
+/*
+ * MAIndexResearchLog.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation.ModelAveragingResearch;
 
 import dr.inference.trace.LogFileTraces;
diff --git a/src/dr/evomodel/speciation/ModelAveragingResearch/ModelAveragingIndexSpeciationLikelihood.java b/src/dr/evomodel/speciation/ModelAveragingResearch/ModelAveragingIndexSpeciationLikelihood.java
index 534f127..d93894c 100644
--- a/src/dr/evomodel/speciation/ModelAveragingResearch/ModelAveragingIndexSpeciationLikelihood.java
+++ b/src/dr/evomodel/speciation/ModelAveragingResearch/ModelAveragingIndexSpeciationLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * ModelAveragingIndexSpeciationLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation.ModelAveragingResearch;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodel/speciation/ModelAveragingResearch/ModelAveragingIndexSpeciationLikelihoodParser.java b/src/dr/evomodel/speciation/ModelAveragingResearch/ModelAveragingIndexSpeciationLikelihoodParser.java
index 150535a..897dd36 100644
--- a/src/dr/evomodel/speciation/ModelAveragingResearch/ModelAveragingIndexSpeciationLikelihoodParser.java
+++ b/src/dr/evomodel/speciation/ModelAveragingResearch/ModelAveragingIndexSpeciationLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * ModelAveragingIndexSpeciationLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation.ModelAveragingResearch;
 
 
diff --git a/src/dr/evomodel/speciation/ModelAveragingSpeciationLikelihood.java b/src/dr/evomodel/speciation/ModelAveragingSpeciationLikelihood.java
index e0827b4..c58336d 100644
--- a/src/dr/evomodel/speciation/ModelAveragingSpeciationLikelihood.java
+++ b/src/dr/evomodel/speciation/ModelAveragingSpeciationLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * ModelAveragingSpeciationLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodel/speciation/MulMSCoalescent.java b/src/dr/evomodel/speciation/MulMSCoalescent.java
index abd279e..3f3f783 100644
--- a/src/dr/evomodel/speciation/MulMSCoalescent.java
+++ b/src/dr/evomodel/speciation/MulMSCoalescent.java
@@ -1,3 +1,28 @@
+/*
+ * MulMSCoalescent.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import dr.evolution.coalescent.DemographicFunction;
diff --git a/src/dr/evomodel/speciation/MulSpeciesBindings.java b/src/dr/evomodel/speciation/MulSpeciesBindings.java
index 5b0349a..54d89b3 100644
--- a/src/dr/evomodel/speciation/MulSpeciesBindings.java
+++ b/src/dr/evomodel/speciation/MulSpeciesBindings.java
@@ -1,7 +1,7 @@
 /*
- * SpeciesBindings.java
+ * MulSpeciesBindings.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/speciation/MulSpeciesTreeModel.java b/src/dr/evomodel/speciation/MulSpeciesTreeModel.java
index 21dba15..988f15f 100644
--- a/src/dr/evomodel/speciation/MulSpeciesTreeModel.java
+++ b/src/dr/evomodel/speciation/MulSpeciesTreeModel.java
@@ -1,3 +1,28 @@
+/*
+ * MulSpeciesTreeModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import dr.evolution.coalescent.DemographicFunction;
diff --git a/src/dr/evomodel/speciation/MulSpeciesTreePrior.java b/src/dr/evomodel/speciation/MulSpeciesTreePrior.java
index 95d9d14..37daec6 100644
--- a/src/dr/evomodel/speciation/MulSpeciesTreePrior.java
+++ b/src/dr/evomodel/speciation/MulSpeciesTreePrior.java
@@ -1,3 +1,28 @@
+/*
+ * MulSpeciesTreePrior.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  *
  * @author Graham Jones
diff --git a/src/dr/evomodel/speciation/MultiSpeciesCoalescent.java b/src/dr/evomodel/speciation/MultiSpeciesCoalescent.java
index 87063e2..9c77267 100644
--- a/src/dr/evomodel/speciation/MultiSpeciesCoalescent.java
+++ b/src/dr/evomodel/speciation/MultiSpeciesCoalescent.java
@@ -1,3 +1,28 @@
+/*
+ * MultiSpeciesCoalescent.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import dr.evolution.coalescent.DemographicFunction;
diff --git a/src/dr/evomodel/speciation/PopsIOMSCoalescent.java b/src/dr/evomodel/speciation/PopsIOMSCoalescent.java
index ad9304d..997e98d 100644
--- a/src/dr/evomodel/speciation/PopsIOMSCoalescent.java
+++ b/src/dr/evomodel/speciation/PopsIOMSCoalescent.java
@@ -1,3 +1,28 @@
+/*
+ * PopsIOMSCoalescent.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import dr.inference.model.Likelihood;
diff --git a/src/dr/evomodel/speciation/PopsIOSpeciesBindings.java b/src/dr/evomodel/speciation/PopsIOSpeciesBindings.java
index d1aeb2b..830e89b 100644
--- a/src/dr/evomodel/speciation/PopsIOSpeciesBindings.java
+++ b/src/dr/evomodel/speciation/PopsIOSpeciesBindings.java
@@ -1,3 +1,28 @@
+/*
+ * PopsIOSpeciesBindings.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/speciation/PopsIOSpeciesTreeModel.java b/src/dr/evomodel/speciation/PopsIOSpeciesTreeModel.java
index c5ed314..247301f 100644
--- a/src/dr/evomodel/speciation/PopsIOSpeciesTreeModel.java
+++ b/src/dr/evomodel/speciation/PopsIOSpeciesTreeModel.java
@@ -1,3 +1,28 @@
+/*
+ * PopsIOSpeciesTreeModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import java.util.*;
diff --git a/src/dr/evomodel/speciation/PopsIOSpeciesTreePrior.java b/src/dr/evomodel/speciation/PopsIOSpeciesTreePrior.java
index c52f05d..7c82829 100644
--- a/src/dr/evomodel/speciation/PopsIOSpeciesTreePrior.java
+++ b/src/dr/evomodel/speciation/PopsIOSpeciesTreePrior.java
@@ -1,3 +1,28 @@
+/*
+ * PopsIOSpeciesTreePrior.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import dr.inference.model.Likelihood;
diff --git a/src/dr/evomodel/speciation/RandomLocalYuleModel.java b/src/dr/evomodel/speciation/RandomLocalYuleModel.java
index 3509709..f45c1bd 100644
--- a/src/dr/evomodel/speciation/RandomLocalYuleModel.java
+++ b/src/dr/evomodel/speciation/RandomLocalYuleModel.java
@@ -1,7 +1,7 @@
 /*
  * RandomLocalYuleModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/speciation/SpeciationLikelihood.java b/src/dr/evomodel/speciation/SpeciationLikelihood.java
index e38824e..c60a220 100644
--- a/src/dr/evomodel/speciation/SpeciationLikelihood.java
+++ b/src/dr/evomodel/speciation/SpeciationLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * SpeciationLikelihood.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/speciation/SpeciationModel.java b/src/dr/evomodel/speciation/SpeciationModel.java
index 94d2362..27a1a78 100644
--- a/src/dr/evomodel/speciation/SpeciationModel.java
+++ b/src/dr/evomodel/speciation/SpeciationModel.java
@@ -1,7 +1,7 @@
 /*
  * SpeciationModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/speciation/SpeciesBindings.java b/src/dr/evomodel/speciation/SpeciesBindings.java
index 465aed3..f044224 100644
--- a/src/dr/evomodel/speciation/SpeciesBindings.java
+++ b/src/dr/evomodel/speciation/SpeciesBindings.java
@@ -1,7 +1,7 @@
 /*
  * SpeciesBindings.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/speciation/SpeciesTreeBMPrior.java b/src/dr/evomodel/speciation/SpeciesTreeBMPrior.java
index 9a73689..57ffa52 100644
--- a/src/dr/evomodel/speciation/SpeciesTreeBMPrior.java
+++ b/src/dr/evomodel/speciation/SpeciesTreeBMPrior.java
@@ -1,3 +1,28 @@
+/*
+ * SpeciesTreeBMPrior.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/speciation/SpeciesTreeModel.java b/src/dr/evomodel/speciation/SpeciesTreeModel.java
index 51207ef..5fd7c0d 100644
--- a/src/dr/evomodel/speciation/SpeciesTreeModel.java
+++ b/src/dr/evomodel/speciation/SpeciesTreeModel.java
@@ -1,3 +1,28 @@
+/*
+ * SpeciesTreeModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import dr.evolution.coalescent.DemographicFunction;
diff --git a/src/dr/evomodel/speciation/SpeciesTreeSimplePrior.java b/src/dr/evomodel/speciation/SpeciesTreeSimplePrior.java
index 8f63145..b656f27 100644
--- a/src/dr/evomodel/speciation/SpeciesTreeSimplePrior.java
+++ b/src/dr/evomodel/speciation/SpeciesTreeSimplePrior.java
@@ -1,3 +1,28 @@
+/*
+ * SpeciesTreeSimplePrior.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import dr.evolution.coalescent.DemographicFunction;
diff --git a/src/dr/evomodel/speciation/TaxonRichnessBirthDeathModel.java b/src/dr/evomodel/speciation/TaxonRichnessBirthDeathModel.java
index 0e0e509..ce677f5 100644
--- a/src/dr/evomodel/speciation/TaxonRichnessBirthDeathModel.java
+++ b/src/dr/evomodel/speciation/TaxonRichnessBirthDeathModel.java
@@ -1,3 +1,28 @@
+/*
+ * TaxonRichnessBirthDeathModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.speciation;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodel/speciation/UltrametricSpeciationModel.java b/src/dr/evomodel/speciation/UltrametricSpeciationModel.java
index 1c04811..ed7abd2 100644
--- a/src/dr/evomodel/speciation/UltrametricSpeciationModel.java
+++ b/src/dr/evomodel/speciation/UltrametricSpeciationModel.java
@@ -1,7 +1,7 @@
 /*
  * UltrametricSpeciationModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/speciation/YuleModel.java b/src/dr/evomodel/speciation/YuleModel.java
index ea06620..4678af0 100644
--- a/src/dr/evomodel/speciation/YuleModel.java
+++ b/src/dr/evomodel/speciation/YuleModel.java
@@ -1,7 +1,7 @@
 /*
  * YuleModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/substmodel/AbstractAminoAcidModel.java b/src/dr/evomodel/substmodel/AbstractAminoAcidModel.java
index 318502f..c3c1157 100644
--- a/src/dr/evomodel/substmodel/AbstractAminoAcidModel.java
+++ b/src/dr/evomodel/substmodel/AbstractAminoAcidModel.java
@@ -1,7 +1,7 @@
 /*
  * AbstractAminoAcidModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/AbstractCodonModel.java b/src/dr/evomodel/substmodel/AbstractCodonModel.java
index 60750a2..1076253 100644
--- a/src/dr/evomodel/substmodel/AbstractCodonModel.java
+++ b/src/dr/evomodel/substmodel/AbstractCodonModel.java
@@ -1,7 +1,7 @@
 /*
  * AbstractCodonModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/AbstractCovarionDNAModel.java b/src/dr/evomodel/substmodel/AbstractCovarionDNAModel.java
index 9fbf8dc..692507e 100644
--- a/src/dr/evomodel/substmodel/AbstractCovarionDNAModel.java
+++ b/src/dr/evomodel/substmodel/AbstractCovarionDNAModel.java
@@ -1,3 +1,28 @@
+/*
+ * AbstractCovarionDNAModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.HiddenNucleotides;
diff --git a/src/dr/evomodel/substmodel/AbstractCovarionModel.java b/src/dr/evomodel/substmodel/AbstractCovarionModel.java
index 42f54bb..120c042 100644
--- a/src/dr/evomodel/substmodel/AbstractCovarionModel.java
+++ b/src/dr/evomodel/substmodel/AbstractCovarionModel.java
@@ -1,3 +1,28 @@
+/*
+ * AbstractCovarionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.DataType;
diff --git a/src/dr/evomodel/substmodel/AbstractNucleotideModel.java b/src/dr/evomodel/substmodel/AbstractNucleotideModel.java
index d678b6d..141a308 100644
--- a/src/dr/evomodel/substmodel/AbstractNucleotideModel.java
+++ b/src/dr/evomodel/substmodel/AbstractNucleotideModel.java
@@ -1,7 +1,7 @@
 /*
  * AbstractNucleotideModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/AbstractPCARateMatrix.java b/src/dr/evomodel/substmodel/AbstractPCARateMatrix.java
index c4c90eb..9f84cc4 100644
--- a/src/dr/evomodel/substmodel/AbstractPCARateMatrix.java
+++ b/src/dr/evomodel/substmodel/AbstractPCARateMatrix.java
@@ -1,3 +1,28 @@
+/*
+ * AbstractPCARateMatrix.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.DataType;
diff --git a/src/dr/evomodel/substmodel/AbstractSubstitutionModel.java b/src/dr/evomodel/substmodel/AbstractSubstitutionModel.java
index 9c5fa6b..76de608 100644
--- a/src/dr/evomodel/substmodel/AbstractSubstitutionModel.java
+++ b/src/dr/evomodel/substmodel/AbstractSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * AbstractSubstitutionModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/substmodel/AminoAcidModelType.java b/src/dr/evomodel/substmodel/AminoAcidModelType.java
index ec66878..b93db34 100644
--- a/src/dr/evomodel/substmodel/AminoAcidModelType.java
+++ b/src/dr/evomodel/substmodel/AminoAcidModelType.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * AminoAcidModelType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/substmodel/AsymmetricQuadraticModel.java b/src/dr/evomodel/substmodel/AsymmetricQuadraticModel.java
index 5f005a0..9a0f1f8 100644
--- a/src/dr/evomodel/substmodel/AsymmetricQuadraticModel.java
+++ b/src/dr/evomodel/substmodel/AsymmetricQuadraticModel.java
@@ -1,3 +1,28 @@
+/*
+ * AsymmetricQuadraticModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 
diff --git a/src/dr/evomodel/substmodel/BinaryCovarionModel.java b/src/dr/evomodel/substmodel/BinaryCovarionModel.java
index 05d6f69..245a6ef 100644
--- a/src/dr/evomodel/substmodel/BinaryCovarionModel.java
+++ b/src/dr/evomodel/substmodel/BinaryCovarionModel.java
@@ -1,7 +1,7 @@
 /*
  * BinaryCovarionModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/Blosum62.java b/src/dr/evomodel/substmodel/Blosum62.java
index 1ad12c3..29228ef 100644
--- a/src/dr/evomodel/substmodel/Blosum62.java
+++ b/src/dr/evomodel/substmodel/Blosum62.java
@@ -1,7 +1,7 @@
 /*
  * Blosum62.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/CPREV.java b/src/dr/evomodel/substmodel/CPREV.java
index 1de606e..a59633d 100644
--- a/src/dr/evomodel/substmodel/CPREV.java
+++ b/src/dr/evomodel/substmodel/CPREV.java
@@ -1,7 +1,7 @@
 /*
  * CPREV.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/ComplexSubstitutionModel.java b/src/dr/evomodel/substmodel/ComplexSubstitutionModel.java
index 1f152f2..5c402ab 100644
--- a/src/dr/evomodel/substmodel/ComplexSubstitutionModel.java
+++ b/src/dr/evomodel/substmodel/ComplexSubstitutionModel.java
@@ -1,3 +1,28 @@
+/*
+ * ComplexSubstitutionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import cern.colt.matrix.DoubleMatrix1D;
diff --git a/src/dr/evomodel/substmodel/CovarionFrequencyModel.java b/src/dr/evomodel/substmodel/CovarionFrequencyModel.java
index 23faa62..b1c30c3 100644
--- a/src/dr/evomodel/substmodel/CovarionFrequencyModel.java
+++ b/src/dr/evomodel/substmodel/CovarionFrequencyModel.java
@@ -1,3 +1,28 @@
+/*
+ * CovarionFrequencyModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.DataType;
diff --git a/src/dr/evomodel/substmodel/CovarionGTR.java b/src/dr/evomodel/substmodel/CovarionGTR.java
index da1fcd9..ba7d69b 100644
--- a/src/dr/evomodel/substmodel/CovarionGTR.java
+++ b/src/dr/evomodel/substmodel/CovarionGTR.java
@@ -1,3 +1,28 @@
+/*
+ * CovarionGTR.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.HiddenNucleotides;
diff --git a/src/dr/evomodel/substmodel/CovarionHKY.java b/src/dr/evomodel/substmodel/CovarionHKY.java
index b02b81e..fd79687 100644
--- a/src/dr/evomodel/substmodel/CovarionHKY.java
+++ b/src/dr/evomodel/substmodel/CovarionHKY.java
@@ -1,7 +1,7 @@
 /*
  * CovarionHKY.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/Dayhoff.java b/src/dr/evomodel/substmodel/Dayhoff.java
index cb3af62..ca4d7e3 100644
--- a/src/dr/evomodel/substmodel/Dayhoff.java
+++ b/src/dr/evomodel/substmodel/Dayhoff.java
@@ -1,7 +1,7 @@
 /*
  * Dayhoff.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/EmpiricalAminoAcidModel.java b/src/dr/evomodel/substmodel/EmpiricalAminoAcidModel.java
index e1248ae..c44552b 100644
--- a/src/dr/evomodel/substmodel/EmpiricalAminoAcidModel.java
+++ b/src/dr/evomodel/substmodel/EmpiricalAminoAcidModel.java
@@ -1,7 +1,7 @@
 /*
  * EmpiricalAminoAcidModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/EmpiricalCodonModel.java b/src/dr/evomodel/substmodel/EmpiricalCodonModel.java
index e81cd96..9e13941 100644
--- a/src/dr/evomodel/substmodel/EmpiricalCodonModel.java
+++ b/src/dr/evomodel/substmodel/EmpiricalCodonModel.java
@@ -1,3 +1,28 @@
+/*
+ * EmpiricalCodonModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.AminoAcids;
diff --git a/src/dr/evomodel/substmodel/EmpiricalCodonRateMatrix.java b/src/dr/evomodel/substmodel/EmpiricalCodonRateMatrix.java
index d028a80..47f2d3a 100644
--- a/src/dr/evomodel/substmodel/EmpiricalCodonRateMatrix.java
+++ b/src/dr/evomodel/substmodel/EmpiricalCodonRateMatrix.java
@@ -1,3 +1,28 @@
+/*
+ * EmpiricalCodonRateMatrix.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import java.io.BufferedReader;
diff --git a/src/dr/evomodel/substmodel/EmpiricalRateMatrix.java b/src/dr/evomodel/substmodel/EmpiricalRateMatrix.java
index 5755342..7449e42 100644
--- a/src/dr/evomodel/substmodel/EmpiricalRateMatrix.java
+++ b/src/dr/evomodel/substmodel/EmpiricalRateMatrix.java
@@ -1,7 +1,7 @@
 /*
  * EmpiricalRateMatrix.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/FLU.java b/src/dr/evomodel/substmodel/FLU.java
index b215cf9..e26a0db 100644
--- a/src/dr/evomodel/substmodel/FLU.java
+++ b/src/dr/evomodel/substmodel/FLU.java
@@ -1,3 +1,28 @@
+/*
+ * FLU.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.AminoAcids;
diff --git a/src/dr/evomodel/substmodel/FrequencyModel.java b/src/dr/evomodel/substmodel/FrequencyModel.java
index 68c59f1..a86cff8 100644
--- a/src/dr/evomodel/substmodel/FrequencyModel.java
+++ b/src/dr/evomodel/substmodel/FrequencyModel.java
@@ -1,7 +1,7 @@
 /*
  * FrequencyModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/GLMSubstitutionModel.java b/src/dr/evomodel/substmodel/GLMSubstitutionModel.java
index 8ca9205..c533f91 100644
--- a/src/dr/evomodel/substmodel/GLMSubstitutionModel.java
+++ b/src/dr/evomodel/substmodel/GLMSubstitutionModel.java
@@ -1,3 +1,28 @@
+/*
+ * GLMSubstitutionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.DataType;
diff --git a/src/dr/evomodel/substmodel/GTR.java b/src/dr/evomodel/substmodel/GTR.java
index ac49f29..9e8a9e4 100644
--- a/src/dr/evomodel/substmodel/GTR.java
+++ b/src/dr/evomodel/substmodel/GTR.java
@@ -1,7 +1,7 @@
 /*
  * GTR.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/GeneralF81Model.java b/src/dr/evomodel/substmodel/GeneralF81Model.java
index ea15bcf..2ba159d 100644
--- a/src/dr/evomodel/substmodel/GeneralF81Model.java
+++ b/src/dr/evomodel/substmodel/GeneralF81Model.java
@@ -1,3 +1,28 @@
+/*
+ * GeneralF81Model.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.GeneralDataType;
diff --git a/src/dr/evomodel/substmodel/GeneralSubstitutionModel.java b/src/dr/evomodel/substmodel/GeneralSubstitutionModel.java
index f8b168e..01636e9 100644
--- a/src/dr/evomodel/substmodel/GeneralSubstitutionModel.java
+++ b/src/dr/evomodel/substmodel/GeneralSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * GeneralSubstitutionModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/HKY.java b/src/dr/evomodel/substmodel/HKY.java
index 115f722..a2e4691 100644
--- a/src/dr/evomodel/substmodel/HKY.java
+++ b/src/dr/evomodel/substmodel/HKY.java
@@ -1,7 +1,7 @@
 /*
  * HKY.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/JTT.java b/src/dr/evomodel/substmodel/JTT.java
index 8b44d89..dac27c0 100644
--- a/src/dr/evomodel/substmodel/JTT.java
+++ b/src/dr/evomodel/substmodel/JTT.java
@@ -1,7 +1,7 @@
 /*
  * JTT.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/LG.java b/src/dr/evomodel/substmodel/LG.java
index 27786b2..e5432c0 100644
--- a/src/dr/evomodel/substmodel/LG.java
+++ b/src/dr/evomodel/substmodel/LG.java
@@ -1,7 +1,7 @@
 /*
  * LG.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/LinearBiasModel.java b/src/dr/evomodel/substmodel/LinearBiasModel.java
index 239fbc7..d3432be 100644
--- a/src/dr/evomodel/substmodel/LinearBiasModel.java
+++ b/src/dr/evomodel/substmodel/LinearBiasModel.java
@@ -1,3 +1,28 @@
+/*
+ * LinearBiasModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.Microsatellite;
diff --git a/src/dr/evomodel/substmodel/MTREV.java b/src/dr/evomodel/substmodel/MTREV.java
index 2e8d0c1..5f1269a 100644
--- a/src/dr/evomodel/substmodel/MTREV.java
+++ b/src/dr/evomodel/substmodel/MTREV.java
@@ -1,7 +1,7 @@
 /*
  * MTREV.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/MarginalVarianceStatistic.java b/src/dr/evomodel/substmodel/MarginalVarianceStatistic.java
index 69cc7b4..ae1a292 100644
--- a/src/dr/evomodel/substmodel/MarginalVarianceStatistic.java
+++ b/src/dr/evomodel/substmodel/MarginalVarianceStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * MarginalVarianceStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evomodel.substmodel.MultivariateOUModel;
diff --git a/src/dr/evomodel/substmodel/MicrosatelliteModel.java b/src/dr/evomodel/substmodel/MicrosatelliteModel.java
index 650c04b..10185d3 100644
--- a/src/dr/evomodel/substmodel/MicrosatelliteModel.java
+++ b/src/dr/evomodel/substmodel/MicrosatelliteModel.java
@@ -1,3 +1,28 @@
+/*
+ * MicrosatelliteModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 
diff --git a/src/dr/evomodel/substmodel/MsatBMA.java b/src/dr/evomodel/substmodel/MsatBMA.java
index 35d0779..858b1fb 100644
--- a/src/dr/evomodel/substmodel/MsatBMA.java
+++ b/src/dr/evomodel/substmodel/MsatBMA.java
@@ -1,3 +1,28 @@
+/*
+ * MsatBMA.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/evomodel/substmodel/MultivariateOUModel.java b/src/dr/evomodel/substmodel/MultivariateOUModel.java
index d42c1a5..bd729f8 100644
--- a/src/dr/evomodel/substmodel/MultivariateOUModel.java
+++ b/src/dr/evomodel/substmodel/MultivariateOUModel.java
@@ -1,3 +1,28 @@
+/*
+ * MultivariateOUModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.inference.distribution.GeneralizedLinearModel;
diff --git a/src/dr/evomodel/substmodel/MutationDeathModel.java b/src/dr/evomodel/substmodel/MutationDeathModel.java
index 504c43a..034da11 100644
--- a/src/dr/evomodel/substmodel/MutationDeathModel.java
+++ b/src/dr/evomodel/substmodel/MutationDeathModel.java
@@ -1,3 +1,28 @@
+/*
+ * MutationDeathModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  * Package: MutationDeathModel
  * Description:
diff --git a/src/dr/evomodel/substmodel/NewMicrosatelliteModel.java b/src/dr/evomodel/substmodel/NewMicrosatelliteModel.java
index f9b90a8..2c5b5a8 100644
--- a/src/dr/evomodel/substmodel/NewMicrosatelliteModel.java
+++ b/src/dr/evomodel/substmodel/NewMicrosatelliteModel.java
@@ -1,3 +1,28 @@
+/*
+ * NewMicrosatelliteModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.inference.model.Likelihood;
diff --git a/src/dr/evomodel/substmodel/NtdBMA.java b/src/dr/evomodel/substmodel/NtdBMA.java
index d907356..b657094 100644
--- a/src/dr/evomodel/substmodel/NtdBMA.java
+++ b/src/dr/evomodel/substmodel/NtdBMA.java
@@ -1,3 +1,28 @@
+/*
+ * NtdBMA.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.inference.model.Variable;
diff --git a/src/dr/evomodel/substmodel/NucModelType.java b/src/dr/evomodel/substmodel/NucModelType.java
index 735b162..a7e3946 100644
--- a/src/dr/evomodel/substmodel/NucModelType.java
+++ b/src/dr/evomodel/substmodel/NucModelType.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * NucModelType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/substmodel/OnePhaseModel.java b/src/dr/evomodel/substmodel/OnePhaseModel.java
index 3837051..b02c3fe 100644
--- a/src/dr/evomodel/substmodel/OnePhaseModel.java
+++ b/src/dr/evomodel/substmodel/OnePhaseModel.java
@@ -1,3 +1,28 @@
+/*
+ * OnePhaseModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.Microsatellite;
diff --git a/src/dr/evomodel/substmodel/PCACodonModel.java b/src/dr/evomodel/substmodel/PCACodonModel.java
index afbff73..8d486da 100644
--- a/src/dr/evomodel/substmodel/PCACodonModel.java
+++ b/src/dr/evomodel/substmodel/PCACodonModel.java
@@ -1,3 +1,28 @@
+/*
+ * PCACodonModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.Codons;
diff --git a/src/dr/evomodel/substmodel/PCARateMatrixMammalia.java b/src/dr/evomodel/substmodel/PCARateMatrixMammalia.java
index 0092368..36d6c8b 100644
--- a/src/dr/evomodel/substmodel/PCARateMatrixMammalia.java
+++ b/src/dr/evomodel/substmodel/PCARateMatrixMammalia.java
@@ -1,3 +1,28 @@
+/*
+ * PCARateMatrixMammalia.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.Codons;
diff --git a/src/dr/evomodel/substmodel/PositiveDefiniteSubstitutionModel.java b/src/dr/evomodel/substmodel/PositiveDefiniteSubstitutionModel.java
index 03fe8d9..356ffbb 100644
--- a/src/dr/evomodel/substmodel/PositiveDefiniteSubstitutionModel.java
+++ b/src/dr/evomodel/substmodel/PositiveDefiniteSubstitutionModel.java
@@ -1,3 +1,28 @@
+/*
+ * PositiveDefiniteSubstitutionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.DataType;
diff --git a/src/dr/evomodel/substmodel/PseudoCodonModel.java b/src/dr/evomodel/substmodel/PseudoCodonModel.java
index b676215..c536aec 100644
--- a/src/dr/evomodel/substmodel/PseudoCodonModel.java
+++ b/src/dr/evomodel/substmodel/PseudoCodonModel.java
@@ -1,7 +1,7 @@
 /*
  * PseudoCodonModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/SVSComplexSubstitutionModel.java b/src/dr/evomodel/substmodel/SVSComplexSubstitutionModel.java
index f5caeb6..7e42dc0 100644
--- a/src/dr/evomodel/substmodel/SVSComplexSubstitutionModel.java
+++ b/src/dr/evomodel/substmodel/SVSComplexSubstitutionModel.java
@@ -1,3 +1,28 @@
+/*
+ * SVSComplexSubstitutionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.DataType;
diff --git a/src/dr/evomodel/substmodel/SVSGeneralSubstitutionModel.java b/src/dr/evomodel/substmodel/SVSGeneralSubstitutionModel.java
index 37b6c98..a8f8c4d 100644
--- a/src/dr/evomodel/substmodel/SVSGeneralSubstitutionModel.java
+++ b/src/dr/evomodel/substmodel/SVSGeneralSubstitutionModel.java
@@ -1,3 +1,28 @@
+/*
+ * SVSGeneralSubstitutionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.*;
diff --git a/src/dr/evomodel/substmodel/SubstitutionEpochModel.java b/src/dr/evomodel/substmodel/SubstitutionEpochModel.java
index fbdec69..7c7067e 100644
--- a/src/dr/evomodel/substmodel/SubstitutionEpochModel.java
+++ b/src/dr/evomodel/substmodel/SubstitutionEpochModel.java
@@ -1,7 +1,7 @@
 /*
  * SubstitutionEpochModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/substmodel/SubstitutionModel.java b/src/dr/evomodel/substmodel/SubstitutionModel.java
index 06b88af..74c8534 100644
--- a/src/dr/evomodel/substmodel/SubstitutionModel.java
+++ b/src/dr/evomodel/substmodel/SubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * SubstitutionModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/SubstitutionModelUtils.java b/src/dr/evomodel/substmodel/SubstitutionModelUtils.java
index f9eb1fa..2ddbcbf 100644
--- a/src/dr/evomodel/substmodel/SubstitutionModelUtils.java
+++ b/src/dr/evomodel/substmodel/SubstitutionModelUtils.java
@@ -1,3 +1,28 @@
+/*
+ * SubstitutionModelUtils.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 import dr.evolution.datatype.DataType;
diff --git a/src/dr/evomodel/substmodel/TN93.java b/src/dr/evomodel/substmodel/TN93.java
index 3893a4e..7eba5af 100644
--- a/src/dr/evomodel/substmodel/TN93.java
+++ b/src/dr/evomodel/substmodel/TN93.java
@@ -1,7 +1,7 @@
 /*
  * TN93.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/TwoPhaseModel.java b/src/dr/evomodel/substmodel/TwoPhaseModel.java
index 234772e..87a38c4 100644
--- a/src/dr/evomodel/substmodel/TwoPhaseModel.java
+++ b/src/dr/evomodel/substmodel/TwoPhaseModel.java
@@ -1,3 +1,28 @@
+/*
+ * TwoPhaseModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.substmodel;
 
 
diff --git a/src/dr/evomodel/substmodel/TwoStateCovarionModel.java b/src/dr/evomodel/substmodel/TwoStateCovarionModel.java
index efe4fc2..2097f18 100755
--- a/src/dr/evomodel/substmodel/TwoStateCovarionModel.java
+++ b/src/dr/evomodel/substmodel/TwoStateCovarionModel.java
@@ -1,7 +1,7 @@
 /*
  * TwoStateCovarionModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/WAG.java b/src/dr/evomodel/substmodel/WAG.java
index c36096f..948af3d 100644
--- a/src/dr/evomodel/substmodel/WAG.java
+++ b/src/dr/evomodel/substmodel/WAG.java
@@ -1,7 +1,7 @@
 /*
  * WAG.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/substmodel/YangCodonModel.java b/src/dr/evomodel/substmodel/YangCodonModel.java
index 3cb3988..f021567 100644
--- a/src/dr/evomodel/substmodel/YangCodonModel.java
+++ b/src/dr/evomodel/substmodel/YangCodonModel.java
@@ -1,7 +1,7 @@
 /*
  * YangCodonModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/transmission/HierarchicalTransmissionDemographicModel.java b/src/dr/evomodel/transmission/HierarchicalTransmissionDemographicModel.java
index 0e7907b..ea69878 100644
--- a/src/dr/evomodel/transmission/HierarchicalTransmissionDemographicModel.java
+++ b/src/dr/evomodel/transmission/HierarchicalTransmissionDemographicModel.java
@@ -1,7 +1,7 @@
 /*
  * HierarchicalTransmissionDemographicModel.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/transmission/TransmissionDemographicModel.java b/src/dr/evomodel/transmission/TransmissionDemographicModel.java
index 0604870..a437854 100644
--- a/src/dr/evomodel/transmission/TransmissionDemographicModel.java
+++ b/src/dr/evomodel/transmission/TransmissionDemographicModel.java
@@ -1,7 +1,7 @@
 /*
  * TransmissionDemographicModel.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/transmission/TransmissionHistoryModel.java b/src/dr/evomodel/transmission/TransmissionHistoryModel.java
index 5a3270c..3e88955 100644
--- a/src/dr/evomodel/transmission/TransmissionHistoryModel.java
+++ b/src/dr/evomodel/transmission/TransmissionHistoryModel.java
@@ -1,7 +1,7 @@
 /*
  * TransmissionHistoryModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/transmission/TransmissionLikelihood.java b/src/dr/evomodel/transmission/TransmissionLikelihood.java
index 8137bd1..5c78956 100644
--- a/src/dr/evomodel/transmission/TransmissionLikelihood.java
+++ b/src/dr/evomodel/transmission/TransmissionLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * TransmissionLikelihood.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/transmission/TransmissionSimulator.java b/src/dr/evomodel/transmission/TransmissionSimulator.java
index 36fedf8..39b69b0 100644
--- a/src/dr/evomodel/transmission/TransmissionSimulator.java
+++ b/src/dr/evomodel/transmission/TransmissionSimulator.java
@@ -1,7 +1,7 @@
 /*
  * TransmissionSimulator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/transmission/TransmissionStatistic.java b/src/dr/evomodel/transmission/TransmissionStatistic.java
index b801605..22ab63c 100644
--- a/src/dr/evomodel/transmission/TransmissionStatistic.java
+++ b/src/dr/evomodel/transmission/TransmissionStatistic.java
@@ -1,7 +1,7 @@
 /*
  * TransmissionStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/AbstractCladeImportanceDistribution.java b/src/dr/evomodel/tree/AbstractCladeImportanceDistribution.java
index 0ee1c39..67f67a8 100644
--- a/src/dr/evomodel/tree/AbstractCladeImportanceDistribution.java
+++ b/src/dr/evomodel/tree/AbstractCladeImportanceDistribution.java
@@ -1,7 +1,7 @@
 /*
  * AbstractCladeImportanceDistribution.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/tree/AbstractTreeParameterModel.java b/src/dr/evomodel/tree/AbstractTreeParameterModel.java
index cc8dc7e..4b0423a 100644
--- a/src/dr/evomodel/tree/AbstractTreeParameterModel.java
+++ b/src/dr/evomodel/tree/AbstractTreeParameterModel.java
@@ -1,7 +1,7 @@
 /*
  * AbstractTreeParameterModel.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/AncestralTrait.java b/src/dr/evomodel/tree/AncestralTrait.java
index d6f5a52..ce4d7ef 100644
--- a/src/dr/evomodel/tree/AncestralTrait.java
+++ b/src/dr/evomodel/tree/AncestralTrait.java
@@ -1,7 +1,7 @@
 /*
- * TMRCAStatistic.java
+ * AncestralTrait.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/BackboneNodeFilter.java b/src/dr/evomodel/tree/BackboneNodeFilter.java
index 73e36f3..db16706 100644
--- a/src/dr/evomodel/tree/BackboneNodeFilter.java
+++ b/src/dr/evomodel/tree/BackboneNodeFilter.java
@@ -1,3 +1,28 @@
+/*
+ * BackboneNodeFilter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.tree;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/tree/CompatibilityStatistic.java b/src/dr/evomodel/tree/CompatibilityStatistic.java
index 756c44d..708fe53 100644
--- a/src/dr/evomodel/tree/CompatibilityStatistic.java
+++ b/src/dr/evomodel/tree/CompatibilityStatistic.java
@@ -1,7 +1,7 @@
 /*
- * MonophylyStatistic.java
+ * CompatibilityStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/ConditionalCladeFrequency.java b/src/dr/evomodel/tree/ConditionalCladeFrequency.java
index 0680fd5..c4e4fd6 100644
--- a/src/dr/evomodel/tree/ConditionalCladeFrequency.java
+++ b/src/dr/evomodel/tree/ConditionalCladeFrequency.java
@@ -1,7 +1,7 @@
 /*
  * ConditionalCladeFrequency.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/tree/Convergence.java b/src/dr/evomodel/tree/Convergence.java
index fea8286..89c194e 100644
--- a/src/dr/evomodel/tree/Convergence.java
+++ b/src/dr/evomodel/tree/Convergence.java
@@ -1,3 +1,28 @@
+/*
+ * Convergence.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  *
  */
diff --git a/src/dr/evomodel/tree/ConvergenceListener.java b/src/dr/evomodel/tree/ConvergenceListener.java
index 516abfd..c5633b3 100644
--- a/src/dr/evomodel/tree/ConvergenceListener.java
+++ b/src/dr/evomodel/tree/ConvergenceListener.java
@@ -1,3 +1,28 @@
+/*
+ * ConvergenceListener.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  *
  */
diff --git a/src/dr/evomodel/tree/ConvergenceLogger.java b/src/dr/evomodel/tree/ConvergenceLogger.java
index f428401..566ddc2 100644
--- a/src/dr/evomodel/tree/ConvergenceLogger.java
+++ b/src/dr/evomodel/tree/ConvergenceLogger.java
@@ -1,3 +1,28 @@
+/*
+ * ConvergenceLogger.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  *
  */
diff --git a/src/dr/evomodel/tree/EmpiricalTreeDistributionModel.java b/src/dr/evomodel/tree/EmpiricalTreeDistributionModel.java
index 906b484..ac42a46 100644
--- a/src/dr/evomodel/tree/EmpiricalTreeDistributionModel.java
+++ b/src/dr/evomodel/tree/EmpiricalTreeDistributionModel.java
@@ -1,3 +1,28 @@
+/*
+ * EmpiricalTreeDistributionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.tree;
 
 import dr.evolution.tree.NodeRef;
@@ -23,11 +48,11 @@ import java.util.logging.Logger;
  */
 public class EmpiricalTreeDistributionModel extends TreeModel {
 
-    public EmpiricalTreeDistributionModel(final Tree[] trees) {
+    public EmpiricalTreeDistributionModel(final Tree[] trees, int startingTree) {
         super(EMPIRICAL_TREE_DISTRIBUTION_MODEL);
 
         this.trees = trees;
-        drawTreeIndex();
+        drawTreeIndex(startingTree);
 
         addStatistic(new Statistic.Abstract("Current Tree")  {
 
@@ -53,9 +78,17 @@ public class EmpiricalTreeDistributionModel extends TreeModel {
     }
 
     public void drawTreeIndex() {
+        drawTreeIndex(-1);
+    }
+
+    private void drawTreeIndex(int treeNumber) {
 //        System.err.print("Drawing new tree, (old tree = " + currentTreeIndex);
 
-        currentTreeIndex = MathUtils.nextInt(trees.length);
+        if (treeNumber == -1) {
+            currentTreeIndex = MathUtils.nextInt(trees.length);
+        } else {
+            currentTreeIndex = treeNumber;
+        }
 
         // Force computation of node heights now rather than later in the evaluation
         // where multithreading may get conflicts.
diff --git a/src/dr/evomodel/tree/ExternalLengthStatistic.java b/src/dr/evomodel/tree/ExternalLengthStatistic.java
index ea6e612..de54657 100644
--- a/src/dr/evomodel/tree/ExternalLengthStatistic.java
+++ b/src/dr/evomodel/tree/ExternalLengthStatistic.java
@@ -1,7 +1,7 @@
 /*
- * TMRCAStatistic.java
+ * ExternalLengthStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/HiddenLinkageLogger.java b/src/dr/evomodel/tree/HiddenLinkageLogger.java
index bea45fd..fdaa564 100644
--- a/src/dr/evomodel/tree/HiddenLinkageLogger.java
+++ b/src/dr/evomodel/tree/HiddenLinkageLogger.java
@@ -1,3 +1,28 @@
+/*
+ * HiddenLinkageLogger.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.tree;
 
 import dr.inference.loggers.LogFormatter;
diff --git a/src/dr/evomodel/tree/HiddenLinkageModel.java b/src/dr/evomodel/tree/HiddenLinkageModel.java
index 08489b6..0e5527e 100644
--- a/src/dr/evomodel/tree/HiddenLinkageModel.java
+++ b/src/dr/evomodel/tree/HiddenLinkageModel.java
@@ -1,3 +1,28 @@
+/*
+ * HiddenLinkageModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.tree;
 
 import java.util.ArrayList;
diff --git a/src/dr/evomodel/tree/HiddenLinkageTreeLogger.java b/src/dr/evomodel/tree/HiddenLinkageTreeLogger.java
index 916cf4f..bc1cd1e 100644
--- a/src/dr/evomodel/tree/HiddenLinkageTreeLogger.java
+++ b/src/dr/evomodel/tree/HiddenLinkageTreeLogger.java
@@ -1,3 +1,28 @@
+/*
+ * HiddenLinkageTreeLogger.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.tree;
 
 import java.text.NumberFormat;
diff --git a/src/dr/evomodel/tree/MRCATraitStatistic.java b/src/dr/evomodel/tree/MRCATraitStatistic.java
index 31e6626..a294adb 100644
--- a/src/dr/evomodel/tree/MRCATraitStatistic.java
+++ b/src/dr/evomodel/tree/MRCATraitStatistic.java
@@ -1,7 +1,7 @@
 /*
- * TMRCAStatistic.java
+ * MRCATraitStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/MicrosatelliteSamplerTreeModel.java b/src/dr/evomodel/tree/MicrosatelliteSamplerTreeModel.java
index e2d7034..3c6c176 100644
--- a/src/dr/evomodel/tree/MicrosatelliteSamplerTreeModel.java
+++ b/src/dr/evomodel/tree/MicrosatelliteSamplerTreeModel.java
@@ -1,3 +1,28 @@
+/*
+ * MicrosatelliteSamplerTreeModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.tree;
 
 import dr.inference.model.*;
diff --git a/src/dr/evomodel/tree/MonophylyStatistic.java b/src/dr/evomodel/tree/MonophylyStatistic.java
index 8307a43..910cd36 100644
--- a/src/dr/evomodel/tree/MonophylyStatistic.java
+++ b/src/dr/evomodel/tree/MonophylyStatistic.java
@@ -1,7 +1,7 @@
 /*
  * MonophylyStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/MultivariateTreeParameterModel.java b/src/dr/evomodel/tree/MultivariateTreeParameterModel.java
index c5711c5..f39399b 100644
--- a/src/dr/evomodel/tree/MultivariateTreeParameterModel.java
+++ b/src/dr/evomodel/tree/MultivariateTreeParameterModel.java
@@ -1,7 +1,7 @@
 /*
  * MultivariateTreeParameterModel.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/NewTreeParameterModel.java b/src/dr/evomodel/tree/NewTreeParameterModel.java
index 7561f2e..11af330 100644
--- a/src/dr/evomodel/tree/NewTreeParameterModel.java
+++ b/src/dr/evomodel/tree/NewTreeParameterModel.java
@@ -1,7 +1,7 @@
 /*
  * NewTreeParameterModel.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/NodeHeightsStatistic.java b/src/dr/evomodel/tree/NodeHeightsStatistic.java
index aecfb8b..33ea930 100644
--- a/src/dr/evomodel/tree/NodeHeightsStatistic.java
+++ b/src/dr/evomodel/tree/NodeHeightsStatistic.java
@@ -1,7 +1,7 @@
 /*
- * RateStatistic.java
+ * NodeHeightsStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/NodeTraitLogger.java b/src/dr/evomodel/tree/NodeTraitLogger.java
index 8c8c084..da613e8 100644
--- a/src/dr/evomodel/tree/NodeTraitLogger.java
+++ b/src/dr/evomodel/tree/NodeTraitLogger.java
@@ -1,3 +1,28 @@
+/*
+ * NodeTraitLogger.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.tree;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/tree/ParsimonyStateStatistic.java b/src/dr/evomodel/tree/ParsimonyStateStatistic.java
index 6bf4284..f02e5f2 100644
--- a/src/dr/evomodel/tree/ParsimonyStateStatistic.java
+++ b/src/dr/evomodel/tree/ParsimonyStateStatistic.java
@@ -1,7 +1,7 @@
 /*
  * ParsimonyStateStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/ParsimonyStatistic.java b/src/dr/evomodel/tree/ParsimonyStatistic.java
index 435b7b3..a41cf0d 100644
--- a/src/dr/evomodel/tree/ParsimonyStatistic.java
+++ b/src/dr/evomodel/tree/ParsimonyStatistic.java
@@ -1,7 +1,7 @@
 /*
  * ParsimonyStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/ProgressiveScalarTreeTransform.java b/src/dr/evomodel/tree/ProgressiveScalarTreeTransform.java
index b87a8d4..7deb92a 100644
--- a/src/dr/evomodel/tree/ProgressiveScalarTreeTransform.java
+++ b/src/dr/evomodel/tree/ProgressiveScalarTreeTransform.java
@@ -1,7 +1,7 @@
 /*
  * ProgressiveScalarTreeTransform.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/RateCovarianceStatistic.java b/src/dr/evomodel/tree/RateCovarianceStatistic.java
index 8eb4fe9..2f98dad 100644
--- a/src/dr/evomodel/tree/RateCovarianceStatistic.java
+++ b/src/dr/evomodel/tree/RateCovarianceStatistic.java
@@ -1,7 +1,7 @@
 /*
  * RateCovarianceStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/RateStatistic.java b/src/dr/evomodel/tree/RateStatistic.java
index a093bb8..09113fe 100644
--- a/src/dr/evomodel/tree/RateStatistic.java
+++ b/src/dr/evomodel/tree/RateStatistic.java
@@ -1,7 +1,7 @@
 /*
  * RateStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/SingleScalarTreeTransform.java b/src/dr/evomodel/tree/SingleScalarTreeTransform.java
index 8a3ac2b..de038aa 100644
--- a/src/dr/evomodel/tree/SingleScalarTreeTransform.java
+++ b/src/dr/evomodel/tree/SingleScalarTreeTransform.java
@@ -1,7 +1,7 @@
 /*
  * SingleScalarTreeTransform.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/SlicedMultivariateTreeParameterModel.java b/src/dr/evomodel/tree/SlicedMultivariateTreeParameterModel.java
index ce23eae..291a45f 100644
--- a/src/dr/evomodel/tree/SlicedMultivariateTreeParameterModel.java
+++ b/src/dr/evomodel/tree/SlicedMultivariateTreeParameterModel.java
@@ -1,7 +1,7 @@
 /*
  * SlicedMultivariateTreeParameterModel.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/SpeciesTreeStatistic.java b/src/dr/evomodel/tree/SpeciesTreeStatistic.java
index 9936afc..2649c8f 100644
--- a/src/dr/evomodel/tree/SpeciesTreeStatistic.java
+++ b/src/dr/evomodel/tree/SpeciesTreeStatistic.java
@@ -1,7 +1,7 @@
 /*
  * SpeciesTreeStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/StarTreeModel.java b/src/dr/evomodel/tree/StarTreeModel.java
index f09d395..87a5952 100644
--- a/src/dr/evomodel/tree/StarTreeModel.java
+++ b/src/dr/evomodel/tree/StarTreeModel.java
@@ -1,7 +1,7 @@
 /*
  * StarTreeModel.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/TMRCAStatistic.java b/src/dr/evomodel/tree/TMRCAStatistic.java
index f9aef48..50ea05a 100644
--- a/src/dr/evomodel/tree/TMRCAStatistic.java
+++ b/src/dr/evomodel/tree/TMRCAStatistic.java
@@ -1,7 +1,7 @@
 /*
  * TMRCAStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/TipHeightLikelihood.java b/src/dr/evomodel/tree/TipHeightLikelihood.java
index db69736..d4842a1 100644
--- a/src/dr/evomodel/tree/TipHeightLikelihood.java
+++ b/src/dr/evomodel/tree/TipHeightLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * TipHeightLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/TransformedTreeModel.java b/src/dr/evomodel/tree/TransformedTreeModel.java
index 43fb203..dcf8b01 100644
--- a/src/dr/evomodel/tree/TransformedTreeModel.java
+++ b/src/dr/evomodel/tree/TransformedTreeModel.java
@@ -1,7 +1,7 @@
 /*
  * TransformedTreeModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/TreeHeightStatistic.java b/src/dr/evomodel/tree/TreeHeightStatistic.java
index 759b58e..b4f9aa7 100644
--- a/src/dr/evomodel/tree/TreeHeightStatistic.java
+++ b/src/dr/evomodel/tree/TreeHeightStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * TreeHeightStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodel/tree/TreeLengthStatistic.java b/src/dr/evomodel/tree/TreeLengthStatistic.java
index 6b3ae38..ed52c85 100644
--- a/src/dr/evomodel/tree/TreeLengthStatistic.java
+++ b/src/dr/evomodel/tree/TreeLengthStatistic.java
@@ -1,7 +1,7 @@
 /*
- * RateStatistic.java
+ * TreeLengthStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/TreeLogger.java b/src/dr/evomodel/tree/TreeLogger.java
index 9a69e10..f3ef5dd 100644
--- a/src/dr/evomodel/tree/TreeLogger.java
+++ b/src/dr/evomodel/tree/TreeLogger.java
@@ -1,7 +1,7 @@
 /*
  * TreeLogger.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/TreeMetricStatistic.java b/src/dr/evomodel/tree/TreeMetricStatistic.java
index c4a082f..2c78da5 100644
--- a/src/dr/evomodel/tree/TreeMetricStatistic.java
+++ b/src/dr/evomodel/tree/TreeMetricStatistic.java
@@ -1,7 +1,7 @@
 /*
  * TreeMetricStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/TreeModel.java b/src/dr/evomodel/tree/TreeModel.java
index b94c501..0195742 100644
--- a/src/dr/evomodel/tree/TreeModel.java
+++ b/src/dr/evomodel/tree/TreeModel.java
@@ -1,7 +1,7 @@
 /*
  * TreeModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -60,12 +60,14 @@ public class TreeModel extends AbstractModel implements MultivariateTraitTree {
     }
 
     public TreeModel(Tree tree) {
-        this(TREE_MODEL, tree, false);
+        this(TREE_MODEL, tree, false, false);
     }
 
-    public TreeModel(String id, Tree tree) {
+    public TreeModel(String id, Tree tree) { this(id, tree, false); }
 
-        this(TREE_MODEL, tree, false);
+    public TreeModel(String id, Tree tree, boolean fixHeights) {
+
+        this(TREE_MODEL, tree, false, fixHeights);
         setId(id);
     }
 
@@ -73,7 +75,7 @@ public class TreeModel extends AbstractModel implements MultivariateTraitTree {
       * Useful for constructing a TreeModel from a NEXUS file entry
       */
 
-    public TreeModel(String name, Tree tree, boolean copyAttributes) {
+    public TreeModel(String name, Tree tree, boolean copyAttributes, boolean fixHeights) {
 
         super(name);
 
@@ -83,7 +85,9 @@ public class TreeModel extends AbstractModel implements MultivariateTraitTree {
 
         // adjust the heights to be compatible with the tip dates and perturb
         // any zero branches.
-        MutableTree.Utils.correctHeightsForTips(binaryTree);
+        if (!fixHeights) {
+            MutableTree.Utils.correctHeightsForTips(binaryTree);
+        }
 
         // clone the node structure (this will create the individual parameters)
         Node node = new Node(binaryTree, binaryTree.getRoot());
diff --git a/src/dr/evomodel/tree/TreeParameterModel.java b/src/dr/evomodel/tree/TreeParameterModel.java
index 6a4ca25..bff535d 100644
--- a/src/dr/evomodel/tree/TreeParameterModel.java
+++ b/src/dr/evomodel/tree/TreeParameterModel.java
@@ -1,7 +1,7 @@
 /*
  * TreeParameterModel.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/TreeShapeStatistic.java b/src/dr/evomodel/tree/TreeShapeStatistic.java
index afe0ca7..bf31ef0 100644
--- a/src/dr/evomodel/tree/TreeShapeStatistic.java
+++ b/src/dr/evomodel/tree/TreeShapeStatistic.java
@@ -1,7 +1,7 @@
 /*
  * TreeShapeStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/TreeSpaceLogger.java b/src/dr/evomodel/tree/TreeSpaceLogger.java
index 565cce5..856eb4f 100644
--- a/src/dr/evomodel/tree/TreeSpaceLogger.java
+++ b/src/dr/evomodel/tree/TreeSpaceLogger.java
@@ -1,3 +1,28 @@
+/*
+ * TreeSpaceLogger.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  *
  */
diff --git a/src/dr/evomodel/tree/TreeStatistic.java b/src/dr/evomodel/tree/TreeStatistic.java
index 96a87fd..c1554a9 100644
--- a/src/dr/evomodel/tree/TreeStatistic.java
+++ b/src/dr/evomodel/tree/TreeStatistic.java
@@ -1,7 +1,7 @@
 /*
  * TreeStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/TreeSummary.java b/src/dr/evomodel/tree/TreeSummary.java
index c22f088..da9800a 100644
--- a/src/dr/evomodel/tree/TreeSummary.java
+++ b/src/dr/evomodel/tree/TreeSummary.java
@@ -1,3 +1,28 @@
+/*
+ * TreeSummary.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  *
  */
diff --git a/src/dr/evomodel/tree/TreeTraceAnalysis.java b/src/dr/evomodel/tree/TreeTraceAnalysis.java
index df542ce..936f94d 100644
--- a/src/dr/evomodel/tree/TreeTraceAnalysis.java
+++ b/src/dr/evomodel/tree/TreeTraceAnalysis.java
@@ -1,7 +1,7 @@
 /*
  * TreeTraceAnalysis.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/tree/TreeTransform.java b/src/dr/evomodel/tree/TreeTransform.java
index aa84967..33236bf 100644
--- a/src/dr/evomodel/tree/TreeTransform.java
+++ b/src/dr/evomodel/tree/TreeTransform.java
@@ -1,7 +1,7 @@
 /*
  * TreeTransform.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/TrialTreeParameterModel.java b/src/dr/evomodel/tree/TrialTreeParameterModel.java
index b3c212d..5504128 100644
--- a/src/dr/evomodel/tree/TrialTreeParameterModel.java
+++ b/src/dr/evomodel/tree/TrialTreeParameterModel.java
@@ -1,7 +1,7 @@
 /*
  * TrialTreeParameterModel.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/tree/UniformNodeHeightPrior.java b/src/dr/evomodel/tree/UniformNodeHeightPrior.java
index 4436b60..a7c1392 100644
--- a/src/dr/evomodel/tree/UniformNodeHeightPrior.java
+++ b/src/dr/evomodel/tree/UniformNodeHeightPrior.java
@@ -1,7 +1,7 @@
 /*
  * UniformNodeHeightPrior.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/tree/WanderingTaxonLogger.java b/src/dr/evomodel/tree/WanderingTaxonLogger.java
index 555da2b..83f8881 100644
--- a/src/dr/evomodel/tree/WanderingTaxonLogger.java
+++ b/src/dr/evomodel/tree/WanderingTaxonLogger.java
@@ -1,3 +1,28 @@
+/*
+ * WanderingTaxonLogger.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodel/tree/WeightedMultiplicativeBinary.java b/src/dr/evomodel/tree/WeightedMultiplicativeBinary.java
index f19224a..85d9511 100644
--- a/src/dr/evomodel/tree/WeightedMultiplicativeBinary.java
+++ b/src/dr/evomodel/tree/WeightedMultiplicativeBinary.java
@@ -1,7 +1,7 @@
 /*
  * WeightedMultiplicativeBinary.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/tree/randomlocalmodel/RLTVAnalyzer.java b/src/dr/evomodel/tree/randomlocalmodel/RLTVAnalyzer.java
index 9213895..ca9bf45 100644
--- a/src/dr/evomodel/tree/randomlocalmodel/RLTVAnalyzer.java
+++ b/src/dr/evomodel/tree/randomlocalmodel/RLTVAnalyzer.java
@@ -1,3 +1,28 @@
+/*
+ * RLTVAnalyzer.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.tree.randomlocalmodel;
 
 import dr.stats.DiscreteStatistics;
diff --git a/src/dr/evomodel/tree/randomlocalmodel/RLTVLogger.java b/src/dr/evomodel/tree/randomlocalmodel/RLTVLogger.java
index 4962bd6..2ae2841 100644
--- a/src/dr/evomodel/tree/randomlocalmodel/RLTVLogger.java
+++ b/src/dr/evomodel/tree/randomlocalmodel/RLTVLogger.java
@@ -1,3 +1,28 @@
+/*
+ * RLTVLogger.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.tree.randomlocalmodel;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/tree/randomlocalmodel/RLTVLoggerOnTree.java b/src/dr/evomodel/tree/randomlocalmodel/RLTVLoggerOnTree.java
index f89324a..04749a0 100644
--- a/src/dr/evomodel/tree/randomlocalmodel/RLTVLoggerOnTree.java
+++ b/src/dr/evomodel/tree/randomlocalmodel/RLTVLoggerOnTree.java
@@ -1,3 +1,28 @@
+/*
+ * RLTVLoggerOnTree.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.tree.randomlocalmodel;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/tree/randomlocalmodel/RandomLocalTreeVariable.java b/src/dr/evomodel/tree/randomlocalmodel/RandomLocalTreeVariable.java
index 0f15a1e..eb2470d 100644
--- a/src/dr/evomodel/tree/randomlocalmodel/RandomLocalTreeVariable.java
+++ b/src/dr/evomodel/tree/randomlocalmodel/RandomLocalTreeVariable.java
@@ -1,3 +1,28 @@
+/*
+ * RandomLocalTreeVariable.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.tree.randomlocalmodel;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/treelikelihood/AbstractLikelihoodCore.java b/src/dr/evomodel/treelikelihood/AbstractLikelihoodCore.java
index 9ffec86..f85e55d 100644
--- a/src/dr/evomodel/treelikelihood/AbstractLikelihoodCore.java
+++ b/src/dr/evomodel/treelikelihood/AbstractLikelihoodCore.java
@@ -1,7 +1,7 @@
 /*
  * AbstractLikelihoodCore.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/treelikelihood/AbstractTreeLikelihood.java b/src/dr/evomodel/treelikelihood/AbstractTreeLikelihood.java
index ab9a5dc..d70943f 100644
--- a/src/dr/evomodel/treelikelihood/AbstractTreeLikelihood.java
+++ b/src/dr/evomodel/treelikelihood/AbstractTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * AbstractTreeLikelihood.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/treelikelihood/AdvancedTreeLikelihood.java b/src/dr/evomodel/treelikelihood/AdvancedTreeLikelihood.java
index 5981d5c..d5f4cdd 100644
--- a/src/dr/evomodel/treelikelihood/AdvancedTreeLikelihood.java
+++ b/src/dr/evomodel/treelikelihood/AdvancedTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * AdvancedTreeLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/treelikelihood/AminoAcidLikelihoodCore.java b/src/dr/evomodel/treelikelihood/AminoAcidLikelihoodCore.java
index 1b99c94..3c9151e 100644
--- a/src/dr/evomodel/treelikelihood/AminoAcidLikelihoodCore.java
+++ b/src/dr/evomodel/treelikelihood/AminoAcidLikelihoodCore.java
@@ -1,7 +1,7 @@
 /*
  * AminoAcidLikelihoodCore.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/treelikelihood/AncestralStateTreeLikelihood.java b/src/dr/evomodel/treelikelihood/AncestralStateTreeLikelihood.java
index 90c1df6..3446992 100644
--- a/src/dr/evomodel/treelikelihood/AncestralStateTreeLikelihood.java
+++ b/src/dr/evomodel/treelikelihood/AncestralStateTreeLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * AncestralStateTreeLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.treelikelihood;
 
 import dr.evolution.alignment.PatternList;
diff --git a/src/dr/evomodel/treelikelihood/ArbitraryPrecisionLikelihoodCore.java b/src/dr/evomodel/treelikelihood/ArbitraryPrecisionLikelihoodCore.java
index 767a9a6..f004124 100644
--- a/src/dr/evomodel/treelikelihood/ArbitraryPrecisionLikelihoodCore.java
+++ b/src/dr/evomodel/treelikelihood/ArbitraryPrecisionLikelihoodCore.java
@@ -1,7 +1,7 @@
 /*
  * ArbitraryPrecisionLikelihoodCore.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/treelikelihood/EpochTreeBranchSubstitutionModel.java b/src/dr/evomodel/treelikelihood/EpochTreeBranchSubstitutionModel.java
index 0d5fb73..fb734d2 100644
--- a/src/dr/evomodel/treelikelihood/EpochTreeBranchSubstitutionModel.java
+++ b/src/dr/evomodel/treelikelihood/EpochTreeBranchSubstitutionModel.java
@@ -1,3 +1,28 @@
+/*
+ * EpochTreeBranchSubstitutionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.treelikelihood;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/evomodel/treelikelihood/EpochTreeLikelihood.java b/src/dr/evomodel/treelikelihood/EpochTreeLikelihood.java
index df18bf9..f14b455 100644
--- a/src/dr/evomodel/treelikelihood/EpochTreeLikelihood.java
+++ b/src/dr/evomodel/treelikelihood/EpochTreeLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * EpochTreeLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.treelikelihood;
 
 import dr.evolution.alignment.PatternList;
diff --git a/src/dr/evomodel/treelikelihood/GeneralLikelihoodCore.java b/src/dr/evomodel/treelikelihood/GeneralLikelihoodCore.java
index 10094f6..88726f6 100644
--- a/src/dr/evomodel/treelikelihood/GeneralLikelihoodCore.java
+++ b/src/dr/evomodel/treelikelihood/GeneralLikelihoodCore.java
@@ -1,7 +1,7 @@
 /*
  * GeneralLikelihoodCore.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/treelikelihood/HiddenLinkageLikelihood.java b/src/dr/evomodel/treelikelihood/HiddenLinkageLikelihood.java
index ff1fe7f..655111d 100644
--- a/src/dr/evomodel/treelikelihood/HiddenLinkageLikelihood.java
+++ b/src/dr/evomodel/treelikelihood/HiddenLinkageLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * HiddenLinkageLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.treelikelihood;
 
 import dr.evolution.LinkedGroup;
diff --git a/src/dr/evomodel/treelikelihood/HypermutantErrorModel.java b/src/dr/evomodel/treelikelihood/HypermutantErrorModel.java
index db4a1fe..c41acde 100644
--- a/src/dr/evomodel/treelikelihood/HypermutantErrorModel.java
+++ b/src/dr/evomodel/treelikelihood/HypermutantErrorModel.java
@@ -1,3 +1,28 @@
+/*
+ * HypermutantErrorModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.treelikelihood;
 
 import dr.evolution.alignment.HypermutantAlignment;
diff --git a/src/dr/evomodel/treelikelihood/LikelihoodCore.java b/src/dr/evomodel/treelikelihood/LikelihoodCore.java
index 3e4bc56..05edef3 100644
--- a/src/dr/evomodel/treelikelihood/LikelihoodCore.java
+++ b/src/dr/evomodel/treelikelihood/LikelihoodCore.java
@@ -1,7 +1,7 @@
 /*
  * LikelihoodCore.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/treelikelihood/LikelihoodPartialsProvider.java b/src/dr/evomodel/treelikelihood/LikelihoodPartialsProvider.java
index ce75356..4248a13 100644
--- a/src/dr/evomodel/treelikelihood/LikelihoodPartialsProvider.java
+++ b/src/dr/evomodel/treelikelihood/LikelihoodPartialsProvider.java
@@ -1,7 +1,7 @@
 /*
  * LikelihoodPartialsProvider.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/treelikelihood/LikelihoodScalingProvider.java b/src/dr/evomodel/treelikelihood/LikelihoodScalingProvider.java
index 0209fd6..2281023 100644
--- a/src/dr/evomodel/treelikelihood/LikelihoodScalingProvider.java
+++ b/src/dr/evomodel/treelikelihood/LikelihoodScalingProvider.java
@@ -1,7 +1,7 @@
 /*
  * LikelihoodScalingProvider.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/treelikelihood/MicrosatelliteSamplerTreeLikelihood.java b/src/dr/evomodel/treelikelihood/MicrosatelliteSamplerTreeLikelihood.java
index e5dd15e..abcd5ad 100644
--- a/src/dr/evomodel/treelikelihood/MicrosatelliteSamplerTreeLikelihood.java
+++ b/src/dr/evomodel/treelikelihood/MicrosatelliteSamplerTreeLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * MicrosatelliteSamplerTreeLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.treelikelihood;
 
 import dr.evomodel.tree.MicrosatelliteSamplerTreeModel;
diff --git a/src/dr/evomodel/treelikelihood/NativeAminoAcidLikelihoodCore.java b/src/dr/evomodel/treelikelihood/NativeAminoAcidLikelihoodCore.java
index f43f986..0531849 100644
--- a/src/dr/evomodel/treelikelihood/NativeAminoAcidLikelihoodCore.java
+++ b/src/dr/evomodel/treelikelihood/NativeAminoAcidLikelihoodCore.java
@@ -1,3 +1,28 @@
+/*
+ * NativeAminoAcidLikelihoodCore.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.treelikelihood;
 
 public class NativeAminoAcidLikelihoodCore extends AbstractLikelihoodCore{
diff --git a/src/dr/evomodel/treelikelihood/NativeCovarionLikelihoodCore.java b/src/dr/evomodel/treelikelihood/NativeCovarionLikelihoodCore.java
index b198790..3befbb9 100644
--- a/src/dr/evomodel/treelikelihood/NativeCovarionLikelihoodCore.java
+++ b/src/dr/evomodel/treelikelihood/NativeCovarionLikelihoodCore.java
@@ -1,3 +1,28 @@
+/*
+ * NativeCovarionLikelihoodCore.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.treelikelihood;
 
 public class NativeCovarionLikelihoodCore extends AbstractLikelihoodCore {
diff --git a/src/dr/evomodel/treelikelihood/NativeGeneralLikelihoodCore.java b/src/dr/evomodel/treelikelihood/NativeGeneralLikelihoodCore.java
index e0d751e..ebf7db2 100644
--- a/src/dr/evomodel/treelikelihood/NativeGeneralLikelihoodCore.java
+++ b/src/dr/evomodel/treelikelihood/NativeGeneralLikelihoodCore.java
@@ -1,3 +1,28 @@
+/*
+ * NativeGeneralLikelihoodCore.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.treelikelihood;
 
 public class NativeGeneralLikelihoodCore extends AbstractLikelihoodCore {
diff --git a/src/dr/evomodel/treelikelihood/NativeNucleotideLikelihoodCore.java b/src/dr/evomodel/treelikelihood/NativeNucleotideLikelihoodCore.java
index 8a9113f..15b00a9 100644
--- a/src/dr/evomodel/treelikelihood/NativeNucleotideLikelihoodCore.java
+++ b/src/dr/evomodel/treelikelihood/NativeNucleotideLikelihoodCore.java
@@ -1,7 +1,7 @@
 /*
  * NativeNucleotideLikelihoodCore.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/treelikelihood/NodePosteriorTreeLikelihood.java b/src/dr/evomodel/treelikelihood/NodePosteriorTreeLikelihood.java
index f88a07d..444a308 100644
--- a/src/dr/evomodel/treelikelihood/NodePosteriorTreeLikelihood.java
+++ b/src/dr/evomodel/treelikelihood/NodePosteriorTreeLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * NodePosteriorTreeLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.treelikelihood;
 
 import dr.evolution.alignment.PatternList;
diff --git a/src/dr/evomodel/treelikelihood/NucleotideLikelihoodCore.java b/src/dr/evomodel/treelikelihood/NucleotideLikelihoodCore.java
index 9f097b6..7159bfa 100644
--- a/src/dr/evomodel/treelikelihood/NucleotideLikelihoodCore.java
+++ b/src/dr/evomodel/treelikelihood/NucleotideLikelihoodCore.java
@@ -1,7 +1,7 @@
 /*
  * NucleotideLikelihoodCore.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/treelikelihood/PrecisionTestTreeLikelihood.java b/src/dr/evomodel/treelikelihood/PrecisionTestTreeLikelihood.java
index e2fa6d5..7341b80 100644
--- a/src/dr/evomodel/treelikelihood/PrecisionTestTreeLikelihood.java
+++ b/src/dr/evomodel/treelikelihood/PrecisionTestTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
- * TreeLikelihood.java
+ * PrecisionTestTreeLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/treelikelihood/PurifyingGammaTreeLikelihood.java b/src/dr/evomodel/treelikelihood/PurifyingGammaTreeLikelihood.java
index d0b9f0c..30aa81d 100644
--- a/src/dr/evomodel/treelikelihood/PurifyingGammaTreeLikelihood.java
+++ b/src/dr/evomodel/treelikelihood/PurifyingGammaTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * PurifyingGammaTreeLikelihood.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/treelikelihood/PurifyingTreeLikelihood.java b/src/dr/evomodel/treelikelihood/PurifyingTreeLikelihood.java
index 883d020..23820a8 100644
--- a/src/dr/evomodel/treelikelihood/PurifyingTreeLikelihood.java
+++ b/src/dr/evomodel/treelikelihood/PurifyingTreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * PurifyingTreeLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/treelikelihood/ScaleFactorsHelper.java b/src/dr/evomodel/treelikelihood/ScaleFactorsHelper.java
index 030b3f8..edec033 100644
--- a/src/dr/evomodel/treelikelihood/ScaleFactorsHelper.java
+++ b/src/dr/evomodel/treelikelihood/ScaleFactorsHelper.java
@@ -1,7 +1,7 @@
 /*
  * ScaleFactorsHelper.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodel/treelikelihood/SequenceErrorModel.java b/src/dr/evomodel/treelikelihood/SequenceErrorModel.java
index f0de40f..d9af398 100644
--- a/src/dr/evomodel/treelikelihood/SequenceErrorModel.java
+++ b/src/dr/evomodel/treelikelihood/SequenceErrorModel.java
@@ -1,3 +1,28 @@
+/*
+ * SequenceErrorModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodel.treelikelihood;
 
 import dr.evolution.datatype.Nucleotides;
diff --git a/src/dr/evomodel/treelikelihood/TipStatesModel.java b/src/dr/evomodel/treelikelihood/TipStatesModel.java
index fd2848c..d329f0e 100644
--- a/src/dr/evomodel/treelikelihood/TipStatesModel.java
+++ b/src/dr/evomodel/treelikelihood/TipStatesModel.java
@@ -1,7 +1,7 @@
 /*
- * TipPartialsModel.java
+ * TipStatesModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/treelikelihood/TreeBranchSubstitutionModel.java b/src/dr/evomodel/treelikelihood/TreeBranchSubstitutionModel.java
index f6bd60a..3954a49 100644
--- a/src/dr/evomodel/treelikelihood/TreeBranchSubstitutionModel.java
+++ b/src/dr/evomodel/treelikelihood/TreeBranchSubstitutionModel.java
@@ -1,7 +1,7 @@
 /*
  * TreeBranchSubstitutionModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodel/treelikelihood/TreeLikelihood.java b/src/dr/evomodel/treelikelihood/TreeLikelihood.java
index ec7d93c..c5f2989 100644
--- a/src/dr/evomodel/treelikelihood/TreeLikelihood.java
+++ b/src/dr/evomodel/treelikelihood/TreeLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * TreeLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/CSVExporterParser.java b/src/dr/evomodelxml/CSVExporterParser.java
index f03a1cf..bfc09e7 100644
--- a/src/dr/evomodelxml/CSVExporterParser.java
+++ b/src/dr/evomodelxml/CSVExporterParser.java
@@ -1,7 +1,7 @@
 /*
- * CSVExporter.java
+ * CSVExporterParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodelxml/ConditionalCladeFrequencyParser.java b/src/dr/evomodelxml/ConditionalCladeFrequencyParser.java
index c52f11b..efff6f1 100644
--- a/src/dr/evomodelxml/ConditionalCladeFrequencyParser.java
+++ b/src/dr/evomodelxml/ConditionalCladeFrequencyParser.java
@@ -1,7 +1,7 @@
 /*
  * ConditionalCladeFrequencyParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodelxml/EmpiricalTreeDistributionModelParser.java b/src/dr/evomodelxml/EmpiricalTreeDistributionModelParser.java
index 9f8ec4b..13d1c44 100644
--- a/src/dr/evomodelxml/EmpiricalTreeDistributionModelParser.java
+++ b/src/dr/evomodelxml/EmpiricalTreeDistributionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * EmpiricalTreeDistributionModelParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
@@ -44,6 +44,7 @@ import java.util.logging.Logger;
 public class EmpiricalTreeDistributionModelParser extends AbstractXMLObjectParser {
 
     public static final String RATE_ATTRIBUTE_NAME = "rateAttribute";
+    public static final String STARTING_TREE = "startingTree";
 
     public String getParserName() {
         return EmpiricalTreeDistributionModel.EMPIRICAL_TREE_DISTRIBUTION_MODEL;
@@ -82,7 +83,9 @@ public class EmpiricalTreeDistributionModelParser extends AbstractXMLObjectParse
         
         Logger.getLogger("dr.evomodel").info("    Read " + trees.length + " trees from file, " + fileName);
 
-        return new EmpiricalTreeDistributionModel(trees);
+        int startingTree = xo.getAttribute(STARTING_TREE, -1); // default is random tree
+
+        return new EmpiricalTreeDistributionModel(trees, startingTree);
     }
 
     public static final String FILE_NAME = "fileName";
@@ -90,6 +93,7 @@ public class EmpiricalTreeDistributionModelParser extends AbstractXMLObjectParse
 
     public XMLSyntaxRule[] getSyntaxRules() {
         return new XMLSyntaxRule[]{
+                AttributeRule.newIntegerRule(STARTING_TREE, true),
                 new StringAttributeRule(FILE_NAME,
                         "The name of a NEXUS tree file"),
 //                AttributeRule.newIntegerRule(BURNIN, true,
diff --git a/src/dr/evomodelxml/EmpiricalTreeDistributionOperatorParser.java b/src/dr/evomodelxml/EmpiricalTreeDistributionOperatorParser.java
index 4359dac..6498b7b 100644
--- a/src/dr/evomodelxml/EmpiricalTreeDistributionOperatorParser.java
+++ b/src/dr/evomodelxml/EmpiricalTreeDistributionOperatorParser.java
@@ -1,7 +1,7 @@
 /*
- * EmpiricalTreeDistributionModelParser.java
+ * EmpiricalTreeDistributionOperatorParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodelxml/MSSD/ALSSiteModelParser.java b/src/dr/evomodelxml/MSSD/ALSSiteModelParser.java
index 35dfe84..5a80b58 100644
--- a/src/dr/evomodelxml/MSSD/ALSSiteModelParser.java
+++ b/src/dr/evomodelxml/MSSD/ALSSiteModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ALSSiteModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.MSSD;
 
 import dr.evomodel.sitemodel.GammaSiteModel;
diff --git a/src/dr/evomodelxml/MSSD/ALSTreeLikelihoodParser.java b/src/dr/evomodelxml/MSSD/ALSTreeLikelihoodParser.java
index 5a24624..cf18881 100644
--- a/src/dr/evomodelxml/MSSD/ALSTreeLikelihoodParser.java
+++ b/src/dr/evomodelxml/MSSD/ALSTreeLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * ALSTreeLikelihoodParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/MSSD/AnyTipObservationProcessParser.java b/src/dr/evomodelxml/MSSD/AnyTipObservationProcessParser.java
index 02aeacf..1d09f51 100644
--- a/src/dr/evomodelxml/MSSD/AnyTipObservationProcessParser.java
+++ b/src/dr/evomodelxml/MSSD/AnyTipObservationProcessParser.java
@@ -1,3 +1,28 @@
+/*
+ * AnyTipObservationProcessParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.MSSD;
 
 import dr.evolution.alignment.PatternList;
diff --git a/src/dr/evomodelxml/MSSD/CTMCScalePriorParser.java b/src/dr/evomodelxml/MSSD/CTMCScalePriorParser.java
index 9fad390..a942371 100644
--- a/src/dr/evomodelxml/MSSD/CTMCScalePriorParser.java
+++ b/src/dr/evomodelxml/MSSD/CTMCScalePriorParser.java
@@ -1,7 +1,7 @@
 /*
  * CTMCScalePriorParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/MSSD/ExponentialBranchLengthTreePriorParser.java b/src/dr/evomodelxml/MSSD/ExponentialBranchLengthTreePriorParser.java
index 078aabd..66d79d5 100644
--- a/src/dr/evomodelxml/MSSD/ExponentialBranchLengthTreePriorParser.java
+++ b/src/dr/evomodelxml/MSSD/ExponentialBranchLengthTreePriorParser.java
@@ -1,3 +1,28 @@
+/*
+ * ExponentialBranchLengthTreePriorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.MSSD;
 
 import dr.evomodel.MSSD.ExponentialBranchLengthTreePrior;
diff --git a/src/dr/evomodelxml/MSSD/SingleTipObservationProcessParser.java b/src/dr/evomodelxml/MSSD/SingleTipObservationProcessParser.java
index 57993f6..b79b5dc 100644
--- a/src/dr/evomodelxml/MSSD/SingleTipObservationProcessParser.java
+++ b/src/dr/evomodelxml/MSSD/SingleTipObservationProcessParser.java
@@ -1,3 +1,28 @@
+/*
+ * SingleTipObservationProcessParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.MSSD;
 
 import dr.evolution.alignment.PatternList;
diff --git a/src/dr/evomodelxml/TreeTraceAnalysisParser.java b/src/dr/evomodelxml/TreeTraceAnalysisParser.java
index 1cf444a..4e68f8f 100644
--- a/src/dr/evomodelxml/TreeTraceAnalysisParser.java
+++ b/src/dr/evomodelxml/TreeTraceAnalysisParser.java
@@ -1,7 +1,7 @@
 /*
  * TreeTraceAnalysisParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/TreeWorkingPriorParsers.java b/src/dr/evomodelxml/TreeWorkingPriorParsers.java
index 06da457..f96b706 100644
--- a/src/dr/evomodelxml/TreeWorkingPriorParsers.java
+++ b/src/dr/evomodelxml/TreeWorkingPriorParsers.java
@@ -1,7 +1,7 @@
 /*
  * TreeWorkingPriorParsers.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -243,10 +243,10 @@ public class TreeWorkingPriorParsers {
 
                 LogFileTraces traces = new LogFileTraces(fileName, file);
                 traces.loadTraces();
-                int maxState = traces.getMaxState();
+                long maxState = traces.getMaxState();
 
                 // leaving the burnin attribute off will result in 10% being used
-                int burnin = xo.getAttribute("burnin", maxState / 10);
+                long burnin = xo.getAttribute("burnin", maxState / 10);
                 if (burnin < 0 || burnin >= maxState) {
                     burnin = maxState / 10;
                     System.out.println("WARNING: Burn-in larger than total number of states - using 10%");
@@ -347,10 +347,10 @@ public class TreeWorkingPriorParsers {
 
                 LogFileTraces traces = new LogFileTraces(fileName, file);
                 traces.loadTraces();
-                int maxState = traces.getMaxState();
+                long maxState = traces.getMaxState();
 
                 // leaving the burnin attribute off will result in 10% being used
-                int burnin = xo.getAttribute("burnin", maxState / 10);
+                long burnin = xo.getAttribute("burnin", maxState / 10);
                 if (burnin < 0 || burnin >= maxState) {
                     burnin = maxState / 10;
                     System.out.println("WARNING: Burn-in larger than total number of states - using 10%");
@@ -382,7 +382,7 @@ public class TreeWorkingPriorParsers {
                 System.out.println("Overview of traceIndexParameter:");
                 for (int i = 0; i < traceIndexParameter.length; i++) {
                     if (traceIndexParameter[i] == -1) {
-                        throw new XMLParseException("Not all traces could be linked to the required columns.");
+                        throw new XMLParseException("Not all traces could be linked to the required columns, problem with trace index: " + i + "; traceIndexParameter.length = " + traceIndexParameter.length);
                     }
                     System.out.println("  traceIndexParameter[" + i + "]: " + traceIndexParameter[i] );
                 }
@@ -483,13 +483,14 @@ public class TreeWorkingPriorParsers {
 
                 LogFileTraces traces = new LogFileTraces(fileName, file);
                 traces.loadTraces();
-                int maxState = traces.getMaxState();
+                long maxState = traces.getMaxState();
 
                 // leaving the burnin attribute off will result in 10% being used
-                int burnin = xo.getAttribute("burnin", maxState / 10);
+                long burnin = xo.getAttribute("burnin", maxState / 10);
                 if (burnin < 0 || burnin >= maxState) {
                     burnin = maxState / 10;
                     System.out.println("WARNING: Burn-in larger than total number of states - using 10%");
+                    System.out.println("Burnin: " + burnin);
                 }
                 traces.setBurnIn(burnin);
 
@@ -518,7 +519,7 @@ public class TreeWorkingPriorParsers {
                 System.out.println("Overview of traceIndexParameter:");
                 for (int i = 0; i < traceIndexParameter.length; i++) {
                     if (traceIndexParameter[i] == -1) {
-                        throw new XMLParseException("Not all traces could be linked to the required columns.");
+                        throw new XMLParseException("Not all traces could be linked to the required columns, problem with trace index: " + i + "; traceIndexParameter.length = " + traceIndexParameter.length);
                     }
                     System.out.println("  traceIndexParameter[" + i + "]: " + traceIndexParameter[i] );
                 }
@@ -639,10 +640,10 @@ public class TreeWorkingPriorParsers {
 
                 LogFileTraces traces = new LogFileTraces(fileName, file);
                 traces.loadTraces();
-                int maxState = traces.getMaxState();
+                long maxState = traces.getMaxState();
 
                 // leaving the burnin attribute off will result in 10% being used
-                int burnin = xo.getAttribute("burnin", maxState / 10);
+                long burnin = xo.getAttribute("burnin", maxState / 10);
                 if (burnin < 0 || burnin >= maxState) {
                     burnin = maxState / 10;
                     System.out.println("WARNING: Burn-in larger than total number of states - using 10%");
@@ -762,10 +763,10 @@ public class TreeWorkingPriorParsers {
 
                 LogFileTraces traces = new LogFileTraces(fileName, file);
                 traces.loadTraces();
-                int maxState = traces.getMaxState();
+                long maxState = traces.getMaxState();
 
                 // leaving the burnin attribute off will result in 10% being used
-                int burnin = xo.getAttribute("burnin", maxState / 10);
+                long burnin = xo.getAttribute("burnin", maxState / 10);
                 if (burnin < 0 || burnin >= maxState) {
                     burnin = maxState / 10;
                     System.out.println("WARNING: Burn-in larger than total number of states - using 10%");
@@ -959,10 +960,10 @@ public class TreeWorkingPriorParsers {
 
                 LogFileTraces traces = new LogFileTraces(fileName, file);
                 traces.loadTraces();
-                int maxState = traces.getMaxState();
+                long maxState = traces.getMaxState();
 
                 // leaving the burnin attribute off will result in 10% being used
-                int burnin = xo.getAttribute("burnin", maxState / 10);
+                long burnin = xo.getAttribute("burnin", maxState / 10);
                 if (burnin < 0 || burnin >= maxState) {
                     burnin = maxState / 10;
                     System.out.println("WARNING: Burn-in larger than total number of states - using 10%");
diff --git a/src/dr/evomodelxml/WanderingTaxonLoggerParser.java b/src/dr/evomodelxml/WanderingTaxonLoggerParser.java
index d25ee28..96662fe 100644
--- a/src/dr/evomodelxml/WanderingTaxonLoggerParser.java
+++ b/src/dr/evomodelxml/WanderingTaxonLoggerParser.java
@@ -1,3 +1,28 @@
+/*
+ * WanderingTaxonLoggerParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml;
 
 import dr.xml.*;
diff --git a/src/dr/evomodelxml/branchratemodel/ArbitraryBranchRatesParser.java b/src/dr/evomodelxml/branchratemodel/ArbitraryBranchRatesParser.java
index cb376c8..96f65a3 100644
--- a/src/dr/evomodelxml/branchratemodel/ArbitraryBranchRatesParser.java
+++ b/src/dr/evomodelxml/branchratemodel/ArbitraryBranchRatesParser.java
@@ -1,7 +1,7 @@
 /*
  * ArbitraryBranchRatesParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/branchratemodel/AttributeBranchRateModelParser.java b/src/dr/evomodelxml/branchratemodel/AttributeBranchRateModelParser.java
index c2738d3..4050ed3 100644
--- a/src/dr/evomodelxml/branchratemodel/AttributeBranchRateModelParser.java
+++ b/src/dr/evomodelxml/branchratemodel/AttributeBranchRateModelParser.java
@@ -1,7 +1,7 @@
 /*
- * ArbitraryBranchRatesParser.java
+ * AttributeBranchRateModelParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/branchratemodel/BranchCategoriesParser.java b/src/dr/evomodelxml/branchratemodel/BranchCategoriesParser.java
index 895ddd2..d757825 100644
--- a/src/dr/evomodelxml/branchratemodel/BranchCategoriesParser.java
+++ b/src/dr/evomodelxml/branchratemodel/BranchCategoriesParser.java
@@ -1,7 +1,7 @@
 /*
- * BranchCategoryProviderParser.java
+ * BranchCategoriesParser.java
  *
- * Copyright (C) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/branchratemodel/CompoundBranchRateModelParser.java b/src/dr/evomodelxml/branchratemodel/CompoundBranchRateModelParser.java
index acf3174..2adfba6 100644
--- a/src/dr/evomodelxml/branchratemodel/CompoundBranchRateModelParser.java
+++ b/src/dr/evomodelxml/branchratemodel/CompoundBranchRateModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * CompoundBranchRateModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.branchratemodel;
 
 import dr.evomodel.branchratemodel.BranchRateModel;
diff --git a/src/dr/evomodelxml/branchratemodel/ContinuousBranchRatesParser.java b/src/dr/evomodelxml/branchratemodel/ContinuousBranchRatesParser.java
index 5397474..74211ef 100644
--- a/src/dr/evomodelxml/branchratemodel/ContinuousBranchRatesParser.java
+++ b/src/dr/evomodelxml/branchratemodel/ContinuousBranchRatesParser.java
@@ -1,3 +1,28 @@
+/*
+ * ContinuousBranchRatesParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.branchratemodel;
 
 import dr.evomodel.branchratemodel.ContinuousBranchRates;
diff --git a/src/dr/evomodelxml/branchratemodel/ContinuousTraitBranchRateModelParser.java b/src/dr/evomodelxml/branchratemodel/ContinuousTraitBranchRateModelParser.java
index 635ab49..494b17a 100644
--- a/src/dr/evomodelxml/branchratemodel/ContinuousTraitBranchRateModelParser.java
+++ b/src/dr/evomodelxml/branchratemodel/ContinuousTraitBranchRateModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ContinuousTraitBranchRateModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.branchratemodel;
 
 import dr.evomodel.branchratemodel.BranchRateModel;
diff --git a/src/dr/evomodelxml/branchratemodel/CountableMixtureBranchRatesParser.java b/src/dr/evomodelxml/branchratemodel/CountableMixtureBranchRatesParser.java
index 531d6ae..21ffc38 100644
--- a/src/dr/evomodelxml/branchratemodel/CountableMixtureBranchRatesParser.java
+++ b/src/dr/evomodelxml/branchratemodel/CountableMixtureBranchRatesParser.java
@@ -1,7 +1,7 @@
 /*
  * CountableMixtureBranchRatesParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/branchratemodel/DiscreteTraitBranchRateModelParser.java b/src/dr/evomodelxml/branchratemodel/DiscreteTraitBranchRateModelParser.java
index 4d7d36a..2cc209f 100644
--- a/src/dr/evomodelxml/branchratemodel/DiscreteTraitBranchRateModelParser.java
+++ b/src/dr/evomodelxml/branchratemodel/DiscreteTraitBranchRateModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * DiscreteTraitBranchRateModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.branchratemodel;
 
 import dr.evolution.alignment.PatternList;
diff --git a/src/dr/evomodelxml/branchratemodel/DiscretizedBranchRatesParser.java b/src/dr/evomodelxml/branchratemodel/DiscretizedBranchRatesParser.java
index a6fc8bb..17da315 100644
--- a/src/dr/evomodelxml/branchratemodel/DiscretizedBranchRatesParser.java
+++ b/src/dr/evomodelxml/branchratemodel/DiscretizedBranchRatesParser.java
@@ -1,7 +1,7 @@
 /*
  * DiscretizedBranchRatesParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/branchratemodel/FixedDriftModelParser.java b/src/dr/evomodelxml/branchratemodel/FixedDriftModelParser.java
index 4a948d1..7e8a6da 100644
--- a/src/dr/evomodelxml/branchratemodel/FixedDriftModelParser.java
+++ b/src/dr/evomodelxml/branchratemodel/FixedDriftModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * FixedDriftModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.branchratemodel;
 
 import dr.evolution.util.TaxonList;
diff --git a/src/dr/evomodelxml/branchratemodel/LatentStateBranchRateModelParser.java b/src/dr/evomodelxml/branchratemodel/LatentStateBranchRateModelParser.java
index 7264bcf..03f6522 100644
--- a/src/dr/evomodelxml/branchratemodel/LatentStateBranchRateModelParser.java
+++ b/src/dr/evomodelxml/branchratemodel/LatentStateBranchRateModelParser.java
@@ -1,7 +1,7 @@
 /*
  * LatentStateBranchRateModelParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/branchratemodel/LocalClockModelParser.java b/src/dr/evomodelxml/branchratemodel/LocalClockModelParser.java
index 2f3624b..bb5b93d 100644
--- a/src/dr/evomodelxml/branchratemodel/LocalClockModelParser.java
+++ b/src/dr/evomodelxml/branchratemodel/LocalClockModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * LocalClockModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.branchratemodel;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/branchratemodel/MixtureModelBranchRatesParser.java b/src/dr/evomodelxml/branchratemodel/MixtureModelBranchRatesParser.java
index 0ed2e72..d63749f 100644
--- a/src/dr/evomodelxml/branchratemodel/MixtureModelBranchRatesParser.java
+++ b/src/dr/evomodelxml/branchratemodel/MixtureModelBranchRatesParser.java
@@ -1,3 +1,28 @@
+/*
+ * MixtureModelBranchRatesParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.branchratemodel;
 
 import dr.evomodel.branchratemodel.MixtureModelBranchRates;
diff --git a/src/dr/evomodelxml/branchratemodel/RandomDiscretizedBranchRatesParser.java b/src/dr/evomodelxml/branchratemodel/RandomDiscretizedBranchRatesParser.java
index d48ff7f..e45e883 100644
--- a/src/dr/evomodelxml/branchratemodel/RandomDiscretizedBranchRatesParser.java
+++ b/src/dr/evomodelxml/branchratemodel/RandomDiscretizedBranchRatesParser.java
@@ -1,3 +1,28 @@
+/*
+ * RandomDiscretizedBranchRatesParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.branchratemodel;
 
 //import dr.evomodel.branchratemodel.RandomDiscretizedBranchRates;
diff --git a/src/dr/evomodelxml/branchratemodel/RandomLocalClockModelParser.java b/src/dr/evomodelxml/branchratemodel/RandomLocalClockModelParser.java
index 09dd961..57142b3 100644
--- a/src/dr/evomodelxml/branchratemodel/RandomLocalClockModelParser.java
+++ b/src/dr/evomodelxml/branchratemodel/RandomLocalClockModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * RandomLocalClockModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.branchratemodel;
 
 import dr.evomodel.branchratemodel.RandomLocalClockModel;
diff --git a/src/dr/evomodelxml/branchratemodel/RateEpochBranchRateModelParser.java b/src/dr/evomodelxml/branchratemodel/RateEpochBranchRateModelParser.java
index 4dbafff..205fb32 100644
--- a/src/dr/evomodelxml/branchratemodel/RateEpochBranchRateModelParser.java
+++ b/src/dr/evomodelxml/branchratemodel/RateEpochBranchRateModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * RateEpochBranchRateModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.branchratemodel;
 
 import dr.evomodel.branchratemodel.ContinuousEpochBranchRateModel;
diff --git a/src/dr/evomodelxml/branchratemodel/RelaxedDriftModelParser.java b/src/dr/evomodelxml/branchratemodel/RelaxedDriftModelParser.java
index 1ecd31f..0f34052 100644
--- a/src/dr/evomodelxml/branchratemodel/RelaxedDriftModelParser.java
+++ b/src/dr/evomodelxml/branchratemodel/RelaxedDriftModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * RelaxedDriftModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.branchratemodel;
 
 import dr.evomodel.branchratemodel.RelaxedDriftModel;
diff --git a/src/dr/evomodelxml/branchratemodel/ScaledTreeLengthRateModelParser.java b/src/dr/evomodelxml/branchratemodel/ScaledTreeLengthRateModelParser.java
index 5f23ab9..5ec793b 100644
--- a/src/dr/evomodelxml/branchratemodel/ScaledTreeLengthRateModelParser.java
+++ b/src/dr/evomodelxml/branchratemodel/ScaledTreeLengthRateModelParser.java
@@ -1,7 +1,7 @@
 /*
  * ScaledTreeLengthRateModelParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/branchratemodel/StrictClockBranchRatesParser.java b/src/dr/evomodelxml/branchratemodel/StrictClockBranchRatesParser.java
index cabc48c..a4c0819 100644
--- a/src/dr/evomodelxml/branchratemodel/StrictClockBranchRatesParser.java
+++ b/src/dr/evomodelxml/branchratemodel/StrictClockBranchRatesParser.java
@@ -1,3 +1,28 @@
+/*
+ * StrictClockBranchRatesParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.branchratemodel;
 
 import dr.evomodel.branchratemodel.StrictClockBranchRates;
diff --git a/src/dr/evomodelxml/clock/ACLikelihoodParser.java b/src/dr/evomodelxml/clock/ACLikelihoodParser.java
index 0518a8f..d38c5ad 100644
--- a/src/dr/evomodelxml/clock/ACLikelihoodParser.java
+++ b/src/dr/evomodelxml/clock/ACLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * ACLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.clock;
 
 import dr.evomodel.clock.ACLikelihood;
diff --git a/src/dr/evomodelxml/clock/UCLikelihoodParser.java b/src/dr/evomodelxml/clock/UCLikelihoodParser.java
index 0290e31..fa2ba34 100644
--- a/src/dr/evomodelxml/clock/UCLikelihoodParser.java
+++ b/src/dr/evomodelxml/clock/UCLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * UCLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.clock;
 
 import dr.evomodel.clock.RateEvolutionLikelihood;
diff --git a/src/dr/evomodelxml/coalescent/AsymptoticGrowthModelParser.java b/src/dr/evomodelxml/coalescent/AsymptoticGrowthModelParser.java
new file mode 100644
index 0000000..4e26091
--- /dev/null
+++ b/src/dr/evomodelxml/coalescent/AsymptoticGrowthModelParser.java
@@ -0,0 +1,92 @@
+/*
+ * AsymptoticGrowthModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.evomodelxml.coalescent;
+
+import dr.evolution.util.Units;
+import dr.evomodel.coalescent.AsymptoticGrowthModel;
+import dr.evomodel.coalescent.LogisticGrowthModel;
+import dr.evomodel.coalescent.PeakAndDeclineModel;
+import dr.evoxml.util.XMLUnits;
+import dr.inference.model.Parameter;
+import dr.xml.*;
+
+/**
+ * Parses an element from an XMLObject into LogisticGrowthModel.
+ */
+public class AsymptoticGrowthModelParser extends AbstractXMLObjectParser {
+
+    public static String ASYMPTOTE_VALUE = "asymptoteValue";
+    public static String ASYMPTOTIC_GROWTH_MODEL = "asymptoticGrowth";
+
+    public static String SHAPE = "shape";
+
+    public String getParserName() {
+        return ASYMPTOTIC_GROWTH_MODEL;
+    }
+
+    public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+
+        Units.Type units = XMLUnits.Utils.getUnitsAttr(xo);
+
+        XMLObject cxo = xo.getChild(ASYMPTOTE_VALUE);
+        Parameter asymptoticValueParam = (Parameter) cxo.getChild(Parameter.class);
+
+
+        Parameter rParam;
+
+        cxo = xo.getChild(SHAPE);
+        Parameter shapeParam = (Parameter) cxo.getChild(Parameter.class);
+
+
+        return new AsymptoticGrowthModel(asymptoticValueParam, shapeParam, units);
+    }
+
+    //************************************************************************
+    // AbstractXMLObjectParser implementation
+    //************************************************************************
+
+    public String getParserDescription() {
+        return "Logistic growth demographic model.";
+    }
+
+    public Class getReturnType() {
+        return LogisticGrowthModel.class;
+    }
+
+    public XMLSyntaxRule[] getSyntaxRules() {
+        return rules;
+    }
+
+    private XMLSyntaxRule[] rules = new XMLSyntaxRule[]{
+            XMLUnits.SYNTAX_RULES[0],
+            new ElementRule(ASYMPTOTE_VALUE,
+                    new XMLSyntaxRule[]{new ElementRule(Parameter.class)}),
+
+
+                    new ElementRule(SHAPE,
+                            new XMLSyntaxRule[]{new ElementRule(Parameter.class)}),
+    };
+}
diff --git a/src/dr/evomodelxml/coalescent/BMPriorLikelihoodParser.java b/src/dr/evomodelxml/coalescent/BMPriorLikelihoodParser.java
index ae81176..ad4bea7 100644
--- a/src/dr/evomodelxml/coalescent/BMPriorLikelihoodParser.java
+++ b/src/dr/evomodelxml/coalescent/BMPriorLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * BMPriorLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evomodel.coalescent.BMPriorLikelihood;
diff --git a/src/dr/evomodelxml/coalescent/BayesianSkylineLikelihoodParser.java b/src/dr/evomodelxml/coalescent/BayesianSkylineLikelihoodParser.java
index 1d7a54b..7ca9718 100644
--- a/src/dr/evomodelxml/coalescent/BayesianSkylineLikelihoodParser.java
+++ b/src/dr/evomodelxml/coalescent/BayesianSkylineLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * BayesianSkylineLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evomodel.coalescent.BayesianSkylineLikelihood;
diff --git a/src/dr/evomodelxml/coalescent/BayesianSkylinePopSizeStatisticParser.java b/src/dr/evomodelxml/coalescent/BayesianSkylinePopSizeStatisticParser.java
index acb0742..44d7d91 100644
--- a/src/dr/evomodelxml/coalescent/BayesianSkylinePopSizeStatisticParser.java
+++ b/src/dr/evomodelxml/coalescent/BayesianSkylinePopSizeStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * BayesianSkylinePopSizeStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evomodel.coalescent.BayesianSkylineLikelihood;
diff --git a/src/dr/evomodelxml/coalescent/CataclysmicDemographicModelParser.java b/src/dr/evomodelxml/coalescent/CataclysmicDemographicModelParser.java
index 689be66..c95ad85 100644
--- a/src/dr/evomodelxml/coalescent/CataclysmicDemographicModelParser.java
+++ b/src/dr/evomodelxml/coalescent/CataclysmicDemographicModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * CataclysmicDemographicModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/CoalescentEventsStatisticParser.java b/src/dr/evomodelxml/coalescent/CoalescentEventsStatisticParser.java
index 28f67ac..ccba96c 100644
--- a/src/dr/evomodelxml/coalescent/CoalescentEventsStatisticParser.java
+++ b/src/dr/evomodelxml/coalescent/CoalescentEventsStatisticParser.java
@@ -1,7 +1,7 @@
 /*
- * CoalescentIntervalStatisticParser.java
+ * CoalescentEventsStatisticParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -27,12 +27,7 @@ package dr.evomodelxml.coalescent;
 
 import dr.evomodel.coalescent.CoalescentEventsStatistic;
 import dr.evomodel.coalescent.CoalescentIntervalProvider;
-import dr.evomodel.tree.TreeModel;
-import dr.xml.AbstractXMLObjectParser;
-import dr.xml.ElementRule;
-import dr.xml.XMLObject;
-import dr.xml.XMLParseException;
-import dr.xml.XMLSyntaxRule;
+import dr.xml.*;
 
 /**
 * @author Guy Baele
@@ -40,6 +35,7 @@ import dr.xml.XMLSyntaxRule;
 public class CoalescentEventsStatisticParser extends AbstractXMLObjectParser {
 
     public static final String COALESCENT_EVENTS_STATISTIC = "coalescentEventsStatistic";
+    public static final boolean DEBUG = false;
 
     public String getParserDescription() {
         return "";
@@ -51,15 +47,19 @@ public class CoalescentEventsStatisticParser extends AbstractXMLObjectParser {
 
     public XMLSyntaxRule[] getSyntaxRules() {
         return new XMLSyntaxRule[]{
-                new ElementRule(CoalescentIntervalProvider.class),
-                new ElementRule(TreeModel.class)
+                new ElementRule(CoalescentIntervalProvider.class)//,
+                //new ElementRule(TreeModel.class)
         };
     }
 
     public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+        if (DEBUG) {
+            System.err.println("Parsing coalescentEventsStatistic");
+        }
         CoalescentIntervalProvider coalescent = (CoalescentIntervalProvider) xo.getChild(CoalescentIntervalProvider.class);
-        TreeModel treeModel = (TreeModel) xo.getChild(TreeModel.class);
-        return new CoalescentEventsStatistic(coalescent, treeModel);
+        //TreeModel treeModel = (TreeModel) xo.getChild(TreeModel.class);
+        //return new CoalescentEventsStatistic(coalescent, treeModel);
+        return new CoalescentEventsStatistic(coalescent);
     }
 
     public String getParserName() {
diff --git a/src/dr/evomodelxml/coalescent/CoalescentIntervalStatisticParser.java b/src/dr/evomodelxml/coalescent/CoalescentIntervalStatisticParser.java
index 2cdf8b0..9891a9c 100644
--- a/src/dr/evomodelxml/coalescent/CoalescentIntervalStatisticParser.java
+++ b/src/dr/evomodelxml/coalescent/CoalescentIntervalStatisticParser.java
@@ -1,7 +1,7 @@
 /*
  * CoalescentIntervalStatisticParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/coalescent/CoalescentLikelihoodParser.java b/src/dr/evomodelxml/coalescent/CoalescentLikelihoodParser.java
index 08c9659..de4fe42 100644
--- a/src/dr/evomodelxml/coalescent/CoalescentLikelihoodParser.java
+++ b/src/dr/evomodelxml/coalescent/CoalescentLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * CoalescentLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/coalescent/CoalescentSimulatorParser.java b/src/dr/evomodelxml/coalescent/CoalescentSimulatorParser.java
index 31d226f..13dd46e 100644
--- a/src/dr/evomodelxml/coalescent/CoalescentSimulatorParser.java
+++ b/src/dr/evomodelxml/coalescent/CoalescentSimulatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * CoalescentSimulatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.tree.SimpleNode;
diff --git a/src/dr/evomodelxml/coalescent/CoalescentTreeIntervalStatisticParser.java b/src/dr/evomodelxml/coalescent/CoalescentTreeIntervalStatisticParser.java
index da17d50..dc872de 100644
--- a/src/dr/evomodelxml/coalescent/CoalescentTreeIntervalStatisticParser.java
+++ b/src/dr/evomodelxml/coalescent/CoalescentTreeIntervalStatisticParser.java
@@ -1,7 +1,7 @@
 /*
  * CoalescentTreeIntervalStatisticParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/coalescent/ConstExpConstModelParser.java b/src/dr/evomodelxml/coalescent/ConstExpConstModelParser.java
index 154a242..1ee843f 100644
--- a/src/dr/evomodelxml/coalescent/ConstExpConstModelParser.java
+++ b/src/dr/evomodelxml/coalescent/ConstExpConstModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ConstExpConstModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/ConstantExponentialModelParser.java b/src/dr/evomodelxml/coalescent/ConstantExponentialModelParser.java
index 08f56d6..ddac59b 100644
--- a/src/dr/evomodelxml/coalescent/ConstantExponentialModelParser.java
+++ b/src/dr/evomodelxml/coalescent/ConstantExponentialModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ConstantExponentialModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/ConstantLogisticModelParser.java b/src/dr/evomodelxml/coalescent/ConstantLogisticModelParser.java
index 4321b8f..2bcf49e 100644
--- a/src/dr/evomodelxml/coalescent/ConstantLogisticModelParser.java
+++ b/src/dr/evomodelxml/coalescent/ConstantLogisticModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ConstantLogisticModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/ConstantPopulationModelParser.java b/src/dr/evomodelxml/coalescent/ConstantPopulationModelParser.java
index 924a819..bd2e54a 100644
--- a/src/dr/evomodelxml/coalescent/ConstantPopulationModelParser.java
+++ b/src/dr/evomodelxml/coalescent/ConstantPopulationModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ConstantPopulationModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/EBSPAnalysisParser.java b/src/dr/evomodelxml/coalescent/EBSPAnalysisParser.java
index 7f98f1b..6a5399a 100644
--- a/src/dr/evomodelxml/coalescent/EBSPAnalysisParser.java
+++ b/src/dr/evomodelxml/coalescent/EBSPAnalysisParser.java
@@ -1,3 +1,28 @@
+/*
+ * EBSPAnalysisParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.io.Importer;
diff --git a/src/dr/evomodelxml/coalescent/EmergingEpidemicModelParser.java b/src/dr/evomodelxml/coalescent/EmergingEpidemicModelParser.java
index ded0cb3..3153d8c 100644
--- a/src/dr/evomodelxml/coalescent/EmergingEpidemicModelParser.java
+++ b/src/dr/evomodelxml/coalescent/EmergingEpidemicModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * EmergingEpidemicModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/coalescent/EmpiricalPiecewiseModelParser.java b/src/dr/evomodelxml/coalescent/EmpiricalPiecewiseModelParser.java
index e34fef5..c7febaf 100644
--- a/src/dr/evomodelxml/coalescent/EmpiricalPiecewiseModelParser.java
+++ b/src/dr/evomodelxml/coalescent/EmpiricalPiecewiseModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * EmpiricalPiecewiseModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/ExpConstExpDemographicModelParser.java b/src/dr/evomodelxml/coalescent/ExpConstExpDemographicModelParser.java
index c63a327..8e4fc09 100644
--- a/src/dr/evomodelxml/coalescent/ExpConstExpDemographicModelParser.java
+++ b/src/dr/evomodelxml/coalescent/ExpConstExpDemographicModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ExpConstExpDemographicModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/ExpansionModelParser.java b/src/dr/evomodelxml/coalescent/ExpansionModelParser.java
index 21b4d80..ede9bf8 100644
--- a/src/dr/evomodelxml/coalescent/ExpansionModelParser.java
+++ b/src/dr/evomodelxml/coalescent/ExpansionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ExpansionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/ExponentialConstantModelParser.java b/src/dr/evomodelxml/coalescent/ExponentialConstantModelParser.java
index 9c5a195..3a15316 100644
--- a/src/dr/evomodelxml/coalescent/ExponentialConstantModelParser.java
+++ b/src/dr/evomodelxml/coalescent/ExponentialConstantModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ExponentialConstantModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/ExponentialExponentialModelParser.java b/src/dr/evomodelxml/coalescent/ExponentialExponentialModelParser.java
index 8bb519f..d76587a 100644
--- a/src/dr/evomodelxml/coalescent/ExponentialExponentialModelParser.java
+++ b/src/dr/evomodelxml/coalescent/ExponentialExponentialModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ExponentialExponentialModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/ExponentialGrowthModelParser.java b/src/dr/evomodelxml/coalescent/ExponentialGrowthModelParser.java
index 71dfc27..9221340 100644
--- a/src/dr/evomodelxml/coalescent/ExponentialGrowthModelParser.java
+++ b/src/dr/evomodelxml/coalescent/ExponentialGrowthModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ExponentialGrowthModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/ExponentialLogisticModelParser.java b/src/dr/evomodelxml/coalescent/ExponentialLogisticModelParser.java
index 3ba353f..8593ef9 100644
--- a/src/dr/evomodelxml/coalescent/ExponentialLogisticModelParser.java
+++ b/src/dr/evomodelxml/coalescent/ExponentialLogisticModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ExponentialLogisticModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/ExponentialSawtoothModelParser.java b/src/dr/evomodelxml/coalescent/ExponentialSawtoothModelParser.java
index dddbdbc..cc1af4c 100644
--- a/src/dr/evomodelxml/coalescent/ExponentialSawtoothModelParser.java
+++ b/src/dr/evomodelxml/coalescent/ExponentialSawtoothModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ExponentialSawtoothModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/GMRFBivariateCurveAnalysisParser.java b/src/dr/evomodelxml/coalescent/GMRFBivariateCurveAnalysisParser.java
index 4ff8326..da7533b 100644
--- a/src/dr/evomodelxml/coalescent/GMRFBivariateCurveAnalysisParser.java
+++ b/src/dr/evomodelxml/coalescent/GMRFBivariateCurveAnalysisParser.java
@@ -1,3 +1,28 @@
+/*
+ * GMRFBivariateCurveAnalysisParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evomodel.coalescent.GMRFBivariateCurveAnalysis;
diff --git a/src/dr/evomodelxml/coalescent/GMRFIntervalHeightsStatisticParser.java b/src/dr/evomodelxml/coalescent/GMRFIntervalHeightsStatisticParser.java
index 7477c3c..7cf1699 100644
--- a/src/dr/evomodelxml/coalescent/GMRFIntervalHeightsStatisticParser.java
+++ b/src/dr/evomodelxml/coalescent/GMRFIntervalHeightsStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * GMRFIntervalHeightsStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evomodel.coalescent.GMRFIntervalHeightsStatistic;
diff --git a/src/dr/evomodelxml/coalescent/GMRFPopSizeStatisticParser.java b/src/dr/evomodelxml/coalescent/GMRFPopSizeStatisticParser.java
index 8a2c128..3d60e2a 100644
--- a/src/dr/evomodelxml/coalescent/GMRFPopSizeStatisticParser.java
+++ b/src/dr/evomodelxml/coalescent/GMRFPopSizeStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * GMRFPopSizeStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evomodel.coalescent.GMRFPopSizeStatistic;
diff --git a/src/dr/evomodelxml/coalescent/GMRFSkyrideLikelihoodParser.java b/src/dr/evomodelxml/coalescent/GMRFSkyrideLikelihoodParser.java
index 8269fb1..44c36e3 100644
--- a/src/dr/evomodelxml/coalescent/GMRFSkyrideLikelihoodParser.java
+++ b/src/dr/evomodelxml/coalescent/GMRFSkyrideLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * GMRFSkyrideLikelihoodParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/coalescent/GMRFTestLikelihoodParser.java b/src/dr/evomodelxml/coalescent/GMRFTestLikelihoodParser.java
index 940f9ed..72b9746 100644
--- a/src/dr/evomodelxml/coalescent/GMRFTestLikelihoodParser.java
+++ b/src/dr/evomodelxml/coalescent/GMRFTestLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * GMRFTestLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evomodel.coalescent.GMRFTestLikelihood;
diff --git a/src/dr/evomodelxml/coalescent/GPSkytrackAnalysisParser.java b/src/dr/evomodelxml/coalescent/GPSkytrackAnalysisParser.java
index 7788a85..2b0cbc9 100644
--- a/src/dr/evomodelxml/coalescent/GPSkytrackAnalysisParser.java
+++ b/src/dr/evomodelxml/coalescent/GPSkytrackAnalysisParser.java
@@ -1,3 +1,28 @@
+/*
+ * GPSkytrackAnalysisParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.io.Importer;
diff --git a/src/dr/evomodelxml/coalescent/GaussianProcessSkytrackLikelihoodParser.java b/src/dr/evomodelxml/coalescent/GaussianProcessSkytrackLikelihoodParser.java
index 9f21d2e..030de4b 100644
--- a/src/dr/evomodelxml/coalescent/GaussianProcessSkytrackLikelihoodParser.java
+++ b/src/dr/evomodelxml/coalescent/GaussianProcessSkytrackLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * GaussianProcessSkytrackLikelihoodParser.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/coalescent/LineageCountStatisticParser.java b/src/dr/evomodelxml/coalescent/LineageCountStatisticParser.java
index f36503a..ce61754 100644
--- a/src/dr/evomodelxml/coalescent/LineageCountStatisticParser.java
+++ b/src/dr/evomodelxml/coalescent/LineageCountStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * LineageCountStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evomodel.coalescent.LineageCountStatistic;
diff --git a/src/dr/evomodelxml/coalescent/LinearGrowthModelParser.java b/src/dr/evomodelxml/coalescent/LinearGrowthModelParser.java
new file mode 100644
index 0000000..7035dc2
--- /dev/null
+++ b/src/dr/evomodelxml/coalescent/LinearGrowthModelParser.java
@@ -0,0 +1,80 @@
+/*
+ * LinearGrowthModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.evomodelxml.coalescent;
+
+import dr.evolution.util.Units;
+import dr.evomodel.coalescent.ConstantPopulationModel;
+import dr.evomodel.coalescent.LinearGrowthModel;
+import dr.evoxml.util.XMLUnits;
+import dr.inference.model.Parameter;
+import dr.xml.*;
+
+/**
+ * Parses an element from an DOM document into a ConstantPopulation.
+ */
+public class LinearGrowthModelParser extends AbstractXMLObjectParser {
+
+    public static String LINEAR_GROWTH_MODEL = "linearGrowth";
+    public static String SLOPE = "slope";
+
+    public String getParserName() {
+        return LINEAR_GROWTH_MODEL;
+    }
+
+    public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+
+        Units.Type units = XMLUnits.Utils.getUnitsAttr(xo);
+
+        XMLObject cxo = xo.getChild(SLOPE);
+        Parameter slopeParam = (Parameter) cxo.getChild(Parameter.class);
+
+        return new LinearGrowthModel(slopeParam, units);
+    }
+
+
+    //************************************************************************
+    // AbstractXMLObjectParser implementation
+    //************************************************************************
+
+    public String getParserDescription() {
+        return "A demographic model representing linear growth starting at time zero";
+    }
+
+    public Class getReturnType() {
+        return LinearGrowthModel.class;
+    }
+
+    public XMLSyntaxRule[] getSyntaxRules() {
+        return rules;
+    }
+
+    private XMLSyntaxRule[] rules = new XMLSyntaxRule[]{
+            XMLUnits.UNITS_RULE,
+            new ElementRule(SLOPE,
+                    new XMLSyntaxRule[]{new ElementRule(Parameter.class)})
+    };
+
+}
diff --git a/src/dr/evomodelxml/coalescent/LogisticGrowthModelParser.java b/src/dr/evomodelxml/coalescent/LogisticGrowthModelParser.java
index 60e9cfa..bcc1031 100644
--- a/src/dr/evomodelxml/coalescent/LogisticGrowthModelParser.java
+++ b/src/dr/evomodelxml/coalescent/LogisticGrowthModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * LogisticGrowthModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/OldCoalescentSimulatorParser.java b/src/dr/evomodelxml/coalescent/OldCoalescentSimulatorParser.java
index c662280..e7f3369 100644
--- a/src/dr/evomodelxml/coalescent/OldCoalescentSimulatorParser.java
+++ b/src/dr/evomodelxml/coalescent/OldCoalescentSimulatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * OldCoalescentSimulatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.tree.SimpleTree;
diff --git a/src/dr/evomodelxml/coalescent/OrnsteinUhlenbeckPriorLikelihoodParser.java b/src/dr/evomodelxml/coalescent/OrnsteinUhlenbeckPriorLikelihoodParser.java
index 8fc0643..a351a0b 100644
--- a/src/dr/evomodelxml/coalescent/OrnsteinUhlenbeckPriorLikelihoodParser.java
+++ b/src/dr/evomodelxml/coalescent/OrnsteinUhlenbeckPriorLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * OrnsteinUhlenbeckPriorLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evomodel.coalescent.OrnsteinUhlenbeckPriorLikelihood;
diff --git a/src/dr/evomodelxml/coalescent/PeakAndDeclineModelParser.java b/src/dr/evomodelxml/coalescent/PeakAndDeclineModelParser.java
new file mode 100644
index 0000000..b6c92c7
--- /dev/null
+++ b/src/dr/evomodelxml/coalescent/PeakAndDeclineModelParser.java
@@ -0,0 +1,99 @@
+/*
+ * PeakAndDeclineModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.evomodelxml.coalescent;
+
+import dr.evolution.util.Units;
+import dr.evomodel.coalescent.LogisticGrowthModel;
+import dr.evomodel.coalescent.PeakAndDeclineModel;
+import dr.evoxml.util.XMLUnits;
+import dr.inference.model.Parameter;
+import dr.xml.*;
+
+/**
+ * Parses an element from an XMLObject into LogisticGrowthModel.
+ */
+public class PeakAndDeclineModelParser extends AbstractXMLObjectParser {
+
+    public static String PEAK_VALUE = "peakValue";
+    public static String PEAK_AND_DECLINE_MODEL = "peakAndDecline";
+
+    public static String SHAPE = "shape";
+    public static String PEAK_TIME = "peakTime";
+
+    public String getParserName() {
+        return PEAK_AND_DECLINE_MODEL;
+    }
+
+    public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+
+        Units.Type units = XMLUnits.Utils.getUnitsAttr(xo);
+
+        XMLObject cxo = xo.getChild(PEAK_VALUE);
+        Parameter peakValueParam = (Parameter) cxo.getChild(Parameter.class);
+
+
+        Parameter rParam;
+
+        cxo = xo.getChild(SHAPE);
+        rParam = (Parameter) cxo.getChild(Parameter.class);
+
+
+        cxo = xo.getChild(PEAK_TIME);
+        Parameter peakTimeParam = (Parameter) cxo.getChild(Parameter.class);
+
+        return new PeakAndDeclineModel(peakValueParam, rParam, peakTimeParam, units);
+    }
+
+    //************************************************************************
+    // AbstractXMLObjectParser implementation
+    //************************************************************************
+
+    public String getParserDescription() {
+        return "Logistic growth demographic model.";
+    }
+
+    public Class getReturnType() {
+        return LogisticGrowthModel.class;
+    }
+
+    public XMLSyntaxRule[] getSyntaxRules() {
+        return rules;
+    }
+
+    private XMLSyntaxRule[] rules = new XMLSyntaxRule[]{
+            XMLUnits.SYNTAX_RULES[0],
+            new ElementRule(PEAK_VALUE,
+                    new XMLSyntaxRule[]{new ElementRule(Parameter.class)}),
+
+
+                    new ElementRule(SHAPE,
+                            new XMLSyntaxRule[]{new ElementRule(Parameter.class)}),
+
+
+            new ElementRule(PEAK_TIME,
+                    new XMLSyntaxRule[]{new ElementRule(Parameter.class)})
+    };
+}
diff --git a/src/dr/evomodelxml/coalescent/PiecewisePopulationModelParser.java b/src/dr/evomodelxml/coalescent/PiecewisePopulationModelParser.java
index 61e472b..822cf7a 100644
--- a/src/dr/evomodelxml/coalescent/PiecewisePopulationModelParser.java
+++ b/src/dr/evomodelxml/coalescent/PiecewisePopulationModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * PiecewisePopulationModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/PopulationSizeGraphParser.java b/src/dr/evomodelxml/coalescent/PopulationSizeGraphParser.java
index 7c45ac2..0417721 100644
--- a/src/dr/evomodelxml/coalescent/PopulationSizeGraphParser.java
+++ b/src/dr/evomodelxml/coalescent/PopulationSizeGraphParser.java
@@ -1,3 +1,28 @@
+/*
+ * PopulationSizeGraphParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evomodel.coalescent.PopulationSizeGraph;
diff --git a/src/dr/evomodelxml/coalescent/PowerLawGrowthModelParser.java b/src/dr/evomodelxml/coalescent/PowerLawGrowthModelParser.java
new file mode 100644
index 0000000..07cb6ee
--- /dev/null
+++ b/src/dr/evomodelxml/coalescent/PowerLawGrowthModelParser.java
@@ -0,0 +1,92 @@
+/*
+ * PowerLawGrowthModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.evomodelxml.coalescent;
+
+import dr.evolution.util.Units;
+import dr.evomodel.coalescent.ExponentialGrowthModel;
+import dr.evomodel.coalescent.PowerLawGrowthModel;
+import dr.evoxml.util.XMLUnits;
+import dr.inference.model.Parameter;
+import dr.xml.*;
+
+/**
+ * Parses an element from an DOM document into a ExponentialGrowth.
+ */
+public class PowerLawGrowthModelParser extends AbstractXMLObjectParser {
+
+    public static String N0 = "n0";
+    public static String POWER_LAW_GROWTH_MODEL = "powerLawGrowth";
+
+    public static String POWER = "power";
+
+
+    public String getParserName() {
+        return POWER_LAW_GROWTH_MODEL;
+    }
+
+    public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+
+        Units.Type units = XMLUnits.Utils.getUnitsAttr(xo);
+
+        XMLObject cxo = xo.getChild(N0);
+        Parameter N0Param = (Parameter) cxo.getChild(Parameter.class);
+        Parameter rParam;
+
+
+        cxo = xo.getChild(POWER);
+        rParam = (Parameter) cxo.getChild(Parameter.class);
+        return new PowerLawGrowthModel(N0Param, rParam, units);
+    }
+
+    //************************************************************************
+    // AbstractXMLObjectParser implementation
+    //************************************************************************
+
+    public String getParserDescription() {
+        return "A demographic model of growth according to a power law.";
+    }
+
+    public Class getReturnType() {
+        return PowerLawGrowthModel.class;
+    }
+
+    public XMLSyntaxRule[] getSyntaxRules() {
+        return rules;
+    }
+
+    private XMLSyntaxRule[] rules = new XMLSyntaxRule[]{
+            new ElementRule(N0,
+                    new XMLSyntaxRule[]{new ElementRule(Parameter.class)}),
+
+
+            new ElementRule(POWER,
+                    new XMLSyntaxRule[]{new ElementRule(Parameter.class)}),
+
+            XMLUnits.SYNTAX_RULES[0]
+    };
+
+
+}
diff --git a/src/dr/evomodelxml/coalescent/ScaledPiecewiseModelParser.java b/src/dr/evomodelxml/coalescent/ScaledPiecewiseModelParser.java
index e773e8c..c8cf6bb 100644
--- a/src/dr/evomodelxml/coalescent/ScaledPiecewiseModelParser.java
+++ b/src/dr/evomodelxml/coalescent/ScaledPiecewiseModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ScaledPiecewiseModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/TwoEpochDemographicModelParser.java b/src/dr/evomodelxml/coalescent/TwoEpochDemographicModelParser.java
index b266d01..b7af231 100644
--- a/src/dr/evomodelxml/coalescent/TwoEpochDemographicModelParser.java
+++ b/src/dr/evomodelxml/coalescent/TwoEpochDemographicModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * TwoEpochDemographicModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/coalescent/VariableDemographicModelParser.java b/src/dr/evomodelxml/coalescent/VariableDemographicModelParser.java
index 037759f..8125185 100644
--- a/src/dr/evomodelxml/coalescent/VariableDemographicModelParser.java
+++ b/src/dr/evomodelxml/coalescent/VariableDemographicModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * VariableDemographicModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evomodel.coalescent.VariableDemographicModel;
diff --git a/src/dr/evomodelxml/coalescent/VariableSkylineLikelihoodParser.java b/src/dr/evomodelxml/coalescent/VariableSkylineLikelihoodParser.java
index 36b8f59..83d9f47 100644
--- a/src/dr/evomodelxml/coalescent/VariableSkylineLikelihoodParser.java
+++ b/src/dr/evomodelxml/coalescent/VariableSkylineLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * VariableSkylineLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent;
 
 import dr.evomodel.coalescent.VariableSkylineLikelihood;
diff --git a/src/dr/evomodelxml/coalescent/operators/BayesianSkylineGibbsOperatorParser.java b/src/dr/evomodelxml/coalescent/operators/BayesianSkylineGibbsOperatorParser.java
index 3c25df4..0a48e94 100644
--- a/src/dr/evomodelxml/coalescent/operators/BayesianSkylineGibbsOperatorParser.java
+++ b/src/dr/evomodelxml/coalescent/operators/BayesianSkylineGibbsOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * BayesianSkylineGibbsOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent.operators;
 
 import dr.evomodel.coalescent.BayesianSkylineLikelihood;
diff --git a/src/dr/evomodelxml/coalescent/operators/GMRFSkyrideBlockUpdateOperatorParser.java b/src/dr/evomodelxml/coalescent/operators/GMRFSkyrideBlockUpdateOperatorParser.java
index 1e35253..661db5c 100644
--- a/src/dr/evomodelxml/coalescent/operators/GMRFSkyrideBlockUpdateOperatorParser.java
+++ b/src/dr/evomodelxml/coalescent/operators/GMRFSkyrideBlockUpdateOperatorParser.java
@@ -1,7 +1,7 @@
 /*
  * GMRFSkyrideBlockUpdateOperatorParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/coalescent/operators/GMRFSkyrideFixedEffectsGibbsOperatorParser.java b/src/dr/evomodelxml/coalescent/operators/GMRFSkyrideFixedEffectsGibbsOperatorParser.java
index e873b09..d26d33b 100644
--- a/src/dr/evomodelxml/coalescent/operators/GMRFSkyrideFixedEffectsGibbsOperatorParser.java
+++ b/src/dr/evomodelxml/coalescent/operators/GMRFSkyrideFixedEffectsGibbsOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * GMRFSkyrideFixedEffectsGibbsOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent.operators;
 
 import dr.evomodel.coalescent.GMRFSkyrideLikelihood;
diff --git a/src/dr/evomodelxml/coalescent/operators/GaussianProcessSkytrackBlockUpdateOperatorParser.java b/src/dr/evomodelxml/coalescent/operators/GaussianProcessSkytrackBlockUpdateOperatorParser.java
index eb00ef7..145c56b 100644
--- a/src/dr/evomodelxml/coalescent/operators/GaussianProcessSkytrackBlockUpdateOperatorParser.java
+++ b/src/dr/evomodelxml/coalescent/operators/GaussianProcessSkytrackBlockUpdateOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * GaussianProcessSkytrackBlockUpdateOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent.operators;
 
 import dr.evomodel.coalescent.GaussianProcessSkytrackLikelihood;
diff --git a/src/dr/evomodelxml/coalescent/operators/GaussianProcessSkytrackTreeOperatorParser.java b/src/dr/evomodelxml/coalescent/operators/GaussianProcessSkytrackTreeOperatorParser.java
index 39cf2e7..a5c11d3 100644
--- a/src/dr/evomodelxml/coalescent/operators/GaussianProcessSkytrackTreeOperatorParser.java
+++ b/src/dr/evomodelxml/coalescent/operators/GaussianProcessSkytrackTreeOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * GaussianProcessSkytrackTreeOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent.operators;
 
 import dr.evomodel.coalescent.GaussianProcessSkytrackLikelihood;
diff --git a/src/dr/evomodelxml/coalescent/operators/SampleNonActiveGibbsOperatorParser.java b/src/dr/evomodelxml/coalescent/operators/SampleNonActiveGibbsOperatorParser.java
index 96b9f2d..06b2184 100644
--- a/src/dr/evomodelxml/coalescent/operators/SampleNonActiveGibbsOperatorParser.java
+++ b/src/dr/evomodelxml/coalescent/operators/SampleNonActiveGibbsOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * SampleNonActiveGibbsOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.coalescent.operators;
 
 import dr.evomodel.coalescent.operators.SampleNonActiveGibbsOperator;
diff --git a/src/dr/evomodelxml/continuous/BuildCompoundSymmetricMatrix.java b/src/dr/evomodelxml/continuous/BuildCompoundSymmetricMatrix.java
index 0a5a005..c23851b 100644
--- a/src/dr/evomodelxml/continuous/BuildCompoundSymmetricMatrix.java
+++ b/src/dr/evomodelxml/continuous/BuildCompoundSymmetricMatrix.java
@@ -1,3 +1,28 @@
+/*
+ * BuildCompoundSymmetricMatrix.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.continuous;
 
 import dr.inference.model.MatrixParameter;
diff --git a/src/dr/evomodelxml/continuous/DataFromTreeTipsParser.java b/src/dr/evomodelxml/continuous/DataFromTreeTipsParser.java
index 2fdcacb..512ebad 100644
--- a/src/dr/evomodelxml/continuous/DataFromTreeTipsParser.java
+++ b/src/dr/evomodelxml/continuous/DataFromTreeTipsParser.java
@@ -1,7 +1,7 @@
 /*
  * DataFromTreeTipsParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/continuous/GaussianProcessFromTreeParser.java b/src/dr/evomodelxml/continuous/GaussianProcessFromTreeParser.java
index bcea0b9..d02ebf4 100644
--- a/src/dr/evomodelxml/continuous/GaussianProcessFromTreeParser.java
+++ b/src/dr/evomodelxml/continuous/GaussianProcessFromTreeParser.java
@@ -1,3 +1,28 @@
+/*
+ * GaussianProcessFromTreeParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.continuous;
 
 import dr.evomodel.continuous.FullyConjugateMultivariateTraitLikelihood;
diff --git a/src/dr/evomodelxml/continuous/LeafTraitExtractorParser.java b/src/dr/evomodelxml/continuous/LeafTraitExtractorParser.java
index a6ec133..08cecbd 100644
--- a/src/dr/evomodelxml/continuous/LeafTraitExtractorParser.java
+++ b/src/dr/evomodelxml/continuous/LeafTraitExtractorParser.java
@@ -1,7 +1,7 @@
 /*
  * LeafTraitExtractorParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/indel/IstvanOperatorParser.java b/src/dr/evomodelxml/indel/IstvanOperatorParser.java
index 082467f..6734bce 100644
--- a/src/dr/evomodelxml/indel/IstvanOperatorParser.java
+++ b/src/dr/evomodelxml/indel/IstvanOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * IstvanOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.indel;
 
 import dr.evomodel.indel.IstvanOperator;
diff --git a/src/dr/evomodelxml/indel/TKF91LikelihoodParser.java b/src/dr/evomodelxml/indel/TKF91LikelihoodParser.java
index 7168734..a42bfb4 100644
--- a/src/dr/evomodelxml/indel/TKF91LikelihoodParser.java
+++ b/src/dr/evomodelxml/indel/TKF91LikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * TKF91LikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.indel;
 
 import dr.evolution.alignment.Alignment;
diff --git a/src/dr/evomodelxml/indel/TKF91ModelParser.java b/src/dr/evomodelxml/indel/TKF91ModelParser.java
index 12de7a4..2873584 100644
--- a/src/dr/evomodelxml/indel/TKF91ModelParser.java
+++ b/src/dr/evomodelxml/indel/TKF91ModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * TKF91ModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.indel;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/operators/AlloppChangeNumHybridizationsParser.java b/src/dr/evomodelxml/operators/AlloppChangeNumHybridizationsParser.java
index 669c7aa..140bcc1 100644
--- a/src/dr/evomodelxml/operators/AlloppChangeNumHybridizationsParser.java
+++ b/src/dr/evomodelxml/operators/AlloppChangeNumHybridizationsParser.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppChangeNumHybridizationsParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.AlloppChangeNumHybridizations;
diff --git a/src/dr/evomodelxml/operators/AlloppHybPopSizesScaleParser.java b/src/dr/evomodelxml/operators/AlloppHybPopSizesScaleParser.java
index a8f2d5c..48ac4ed 100644
--- a/src/dr/evomodelxml/operators/AlloppHybPopSizesScaleParser.java
+++ b/src/dr/evomodelxml/operators/AlloppHybPopSizesScaleParser.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppHybPopSizesScaleParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.AlloppHybPopSizesScale;
diff --git a/src/dr/evomodelxml/operators/AlloppMoveLegsParser.java b/src/dr/evomodelxml/operators/AlloppMoveLegsParser.java
index 7f80840..da7fb96 100644
--- a/src/dr/evomodelxml/operators/AlloppMoveLegsParser.java
+++ b/src/dr/evomodelxml/operators/AlloppMoveLegsParser.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppMoveLegsParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.AlloppMoveLegs;
diff --git a/src/dr/evomodelxml/operators/AlloppNetworkNodeSlideParser.java b/src/dr/evomodelxml/operators/AlloppNetworkNodeSlideParser.java
index 5a8ebf5..fba508a 100644
--- a/src/dr/evomodelxml/operators/AlloppNetworkNodeSlideParser.java
+++ b/src/dr/evomodelxml/operators/AlloppNetworkNodeSlideParser.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppNetworkNodeSlideParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.AlloppNetworkNodeSlide;
diff --git a/src/dr/evomodelxml/operators/AlloppSequenceReassignmentParser.java b/src/dr/evomodelxml/operators/AlloppSequenceReassignmentParser.java
index b1d00a8..fc1b9dd 100644
--- a/src/dr/evomodelxml/operators/AlloppSequenceReassignmentParser.java
+++ b/src/dr/evomodelxml/operators/AlloppSequenceReassignmentParser.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppSequenceReassignmentParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 
diff --git a/src/dr/evomodelxml/operators/ExchangeOperatorParser.java b/src/dr/evomodelxml/operators/ExchangeOperatorParser.java
index 32ff809..535e4b2 100644
--- a/src/dr/evomodelxml/operators/ExchangeOperatorParser.java
+++ b/src/dr/evomodelxml/operators/ExchangeOperatorParser.java
@@ -1,7 +1,7 @@
 /*
  * ExchangeOperatorParser.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodelxml/operators/FNPRParser.java b/src/dr/evomodelxml/operators/FNPRParser.java
index c356235..4c39dae 100644
--- a/src/dr/evomodelxml/operators/FNPRParser.java
+++ b/src/dr/evomodelxml/operators/FNPRParser.java
@@ -1,3 +1,28 @@
+/*
+ * FNPRParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.FNPR;
diff --git a/src/dr/evomodelxml/operators/FunkyPriorMixerOperatorParser.java b/src/dr/evomodelxml/operators/FunkyPriorMixerOperatorParser.java
index cb65547..cee99c1 100644
--- a/src/dr/evomodelxml/operators/FunkyPriorMixerOperatorParser.java
+++ b/src/dr/evomodelxml/operators/FunkyPriorMixerOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * FunkyPriorMixerOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.FunkyPriorMixerOperator;
diff --git a/src/dr/evomodelxml/operators/GibbsPruneAndRegraftParser.java b/src/dr/evomodelxml/operators/GibbsPruneAndRegraftParser.java
index ba589d2..c2b7878 100644
--- a/src/dr/evomodelxml/operators/GibbsPruneAndRegraftParser.java
+++ b/src/dr/evomodelxml/operators/GibbsPruneAndRegraftParser.java
@@ -1,3 +1,28 @@
+/*
+ * GibbsPruneAndRegraftParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.GibbsPruneAndRegraft;
diff --git a/src/dr/evomodelxml/operators/GibbsSubtreeSwapParser.java b/src/dr/evomodelxml/operators/GibbsSubtreeSwapParser.java
index 39b2f0b..f352470 100644
--- a/src/dr/evomodelxml/operators/GibbsSubtreeSwapParser.java
+++ b/src/dr/evomodelxml/operators/GibbsSubtreeSwapParser.java
@@ -1,3 +1,28 @@
+/*
+ * GibbsSubtreeSwapParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.GibbsSubtreeSwap;
diff --git a/src/dr/evomodelxml/operators/ImportanceNarrowExchangeParser.java b/src/dr/evomodelxml/operators/ImportanceNarrowExchangeParser.java
index c1f854b..0d1e47c 100644
--- a/src/dr/evomodelxml/operators/ImportanceNarrowExchangeParser.java
+++ b/src/dr/evomodelxml/operators/ImportanceNarrowExchangeParser.java
@@ -1,3 +1,28 @@
+/*
+ * ImportanceNarrowExchangeParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evolution.alignment.PatternList;
diff --git a/src/dr/evomodelxml/operators/ImportancePruneAndRegraftParser.java b/src/dr/evomodelxml/operators/ImportancePruneAndRegraftParser.java
index d2f9335..84b2581 100644
--- a/src/dr/evomodelxml/operators/ImportancePruneAndRegraftParser.java
+++ b/src/dr/evomodelxml/operators/ImportancePruneAndRegraftParser.java
@@ -1,3 +1,28 @@
+/*
+ * ImportancePruneAndRegraftParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.ImportancePruneAndRegraft;
diff --git a/src/dr/evomodelxml/operators/ImportanceSubtreeSwapParser.java b/src/dr/evomodelxml/operators/ImportanceSubtreeSwapParser.java
index bfd88e3..ef8411d 100644
--- a/src/dr/evomodelxml/operators/ImportanceSubtreeSwapParser.java
+++ b/src/dr/evomodelxml/operators/ImportanceSubtreeSwapParser.java
@@ -1,3 +1,28 @@
+/*
+ * ImportanceSubtreeSwapParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.ImportanceSubtreeSwap;
diff --git a/src/dr/evomodelxml/operators/MoveLinkageGroupParser.java b/src/dr/evomodelxml/operators/MoveLinkageGroupParser.java
index 0662e6a..2ca27ae 100644
--- a/src/dr/evomodelxml/operators/MoveLinkageGroupParser.java
+++ b/src/dr/evomodelxml/operators/MoveLinkageGroupParser.java
@@ -1,3 +1,28 @@
+/*
+ * MoveLinkageGroupParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evolution.MetagenomeData;
diff --git a/src/dr/evomodelxml/operators/MulTreeNodeSlideParser.java b/src/dr/evomodelxml/operators/MulTreeNodeSlideParser.java
index 02e12b9..4ddd1c5 100644
--- a/src/dr/evomodelxml/operators/MulTreeNodeSlideParser.java
+++ b/src/dr/evomodelxml/operators/MulTreeNodeSlideParser.java
@@ -1,4 +1,29 @@
 
+/*
+ * MulTreeNodeSlideParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.MulTreeNodeSlide;
diff --git a/src/dr/evomodelxml/operators/MulTreeSequenceReassignmentParser.java b/src/dr/evomodelxml/operators/MulTreeSequenceReassignmentParser.java
index 9fd6018..d38b656 100644
--- a/src/dr/evomodelxml/operators/MulTreeSequenceReassignmentParser.java
+++ b/src/dr/evomodelxml/operators/MulTreeSequenceReassignmentParser.java
@@ -1,3 +1,28 @@
+/*
+ * MulTreeSequenceReassignmentParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 
diff --git a/src/dr/evomodelxml/operators/NNIParser.java b/src/dr/evomodelxml/operators/NNIParser.java
index f4c8858..c1a33a1 100644
--- a/src/dr/evomodelxml/operators/NNIParser.java
+++ b/src/dr/evomodelxml/operators/NNIParser.java
@@ -1,3 +1,28 @@
+/*
+ * NNIParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.NNI;
diff --git a/src/dr/evomodelxml/operators/PopsIOTreeNodeSlideParser.java b/src/dr/evomodelxml/operators/PopsIOTreeNodeSlideParser.java
index 94ff19b..1c636e9 100644
--- a/src/dr/evomodelxml/operators/PopsIOTreeNodeSlideParser.java
+++ b/src/dr/evomodelxml/operators/PopsIOTreeNodeSlideParser.java
@@ -1,3 +1,28 @@
+/*
+ * PopsIOTreeNodeSlideParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.PopsIOTreeNodeSlide;
diff --git a/src/dr/evomodelxml/operators/RateExchangeOperatorParser.java b/src/dr/evomodelxml/operators/RateExchangeOperatorParser.java
index 50fa3e1..eccf0c1 100644
--- a/src/dr/evomodelxml/operators/RateExchangeOperatorParser.java
+++ b/src/dr/evomodelxml/operators/RateExchangeOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * RateExchangeOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.RateExchangeOperator;
diff --git a/src/dr/evomodelxml/operators/RateSampleOperatorParser.java b/src/dr/evomodelxml/operators/RateSampleOperatorParser.java
index b38fedf..4538b6d 100644
--- a/src/dr/evomodelxml/operators/RateSampleOperatorParser.java
+++ b/src/dr/evomodelxml/operators/RateSampleOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * RateSampleOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.clock.RateEvolutionLikelihood;
diff --git a/src/dr/evomodelxml/operators/RateScaleOperatorParser.java b/src/dr/evomodelxml/operators/RateScaleOperatorParser.java
index 73c5063..fb26d2e 100644
--- a/src/dr/evomodelxml/operators/RateScaleOperatorParser.java
+++ b/src/dr/evomodelxml/operators/RateScaleOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * RateScaleOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.RateScaleOperator;
diff --git a/src/dr/evomodelxml/operators/RateVarianceScaleOperatorParser.java b/src/dr/evomodelxml/operators/RateVarianceScaleOperatorParser.java
index 3219cc0..5e2ae3c 100644
--- a/src/dr/evomodelxml/operators/RateVarianceScaleOperatorParser.java
+++ b/src/dr/evomodelxml/operators/RateVarianceScaleOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * RateVarianceScaleOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.RateVarianceScaleOperator;
diff --git a/src/dr/evomodelxml/operators/SubtreeJumpOperatorParser.java b/src/dr/evomodelxml/operators/SubtreeJumpOperatorParser.java
index d2f5262..a351890 100644
--- a/src/dr/evomodelxml/operators/SubtreeJumpOperatorParser.java
+++ b/src/dr/evomodelxml/operators/SubtreeJumpOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * SubtreeJumpOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.SubtreeJumpOperator;
@@ -20,8 +45,6 @@ public class SubtreeJumpOperatorParser extends AbstractXMLObjectParser {
 
     public Object parseXMLObject(XMLObject xo) throws XMLParseException {
 
-        /*
-        No coercion at the moment.
         CoercionMode mode = CoercionMode.DEFAULT;
         if (xo.hasAttribute(CoercableMCMCOperator.AUTO_OPTIMIZE)) {
             if (xo.getBooleanAttribute(CoercableMCMCOperator.AUTO_OPTIMIZE)) {
@@ -30,21 +53,21 @@ public class SubtreeJumpOperatorParser extends AbstractXMLObjectParser {
                 mode = CoercionMode.COERCION_OFF;
             }
         }
-        */
 
         TreeModel treeModel = (TreeModel) xo.getChild(TreeModel.class);
         final double weight = xo.getDoubleAttribute(MCMCOperator.WEIGHT);
 
 //        final double targetAcceptance = xo.getAttribute(TARGET_ACCEPTANCE, 0.234);
-//
-//        final double size = xo.getAttribute("size", 1.0);
-//
-//        if (Double.isInfinite(size) || size <= 0.0) {
-//            throw new XMLParseException("size attribute must be positive and not infinite. was " + size +
-//           " for tree " + treeModel.getId() );
-//        }
-
-        SubtreeJumpOperator operator = new SubtreeJumpOperator(treeModel, weight);
+
+        final double bias = xo.getAttribute("bias", 0.0);
+        final boolean arctanTransform = xo.getAttribute("arctanTransform", true);
+
+        if (Double.isInfinite(bias)) {
+            throw new XMLParseException("bias attribute must be not infinite. was " + bias +
+           " for tree " + treeModel.getId() );
+        }
+
+        SubtreeJumpOperator operator = new SubtreeJumpOperator(treeModel, weight, bias, arctanTransform, mode);
 //        operator.setTargetAcceptanceProbability(targetAcceptance);
 
         return operator;
@@ -64,9 +87,9 @@ public class SubtreeJumpOperatorParser extends AbstractXMLObjectParser {
 
     private final XMLSyntaxRule[] rules = {
             AttributeRule.newDoubleRule(MCMCOperator.WEIGHT),
-            // No coercion at the moment.
-            //AttributeRule.newDoubleRule("size", true),
-            //AttributeRule.newBooleanRule(CoercableMCMCOperator.AUTO_OPTIMIZE, true),
+            AttributeRule.newDoubleRule("bias", true),
+            AttributeRule.newBooleanRule("arctanTransform", true),
+            AttributeRule.newBooleanRule(CoercableMCMCOperator.AUTO_OPTIMIZE, true),
             new ElementRule(TreeModel.class)
     };
 
diff --git a/src/dr/evomodelxml/operators/SubtreeSlideOperatorParser.java b/src/dr/evomodelxml/operators/SubtreeSlideOperatorParser.java
index d02fe20..c57ecdb 100644
--- a/src/dr/evomodelxml/operators/SubtreeSlideOperatorParser.java
+++ b/src/dr/evomodelxml/operators/SubtreeSlideOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * SubtreeSlideOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.SubtreeSlideOperator;
diff --git a/src/dr/evomodelxml/operators/TreeBitMoveOperatorParser.java b/src/dr/evomodelxml/operators/TreeBitMoveOperatorParser.java
index face754..ceb559a 100644
--- a/src/dr/evomodelxml/operators/TreeBitMoveOperatorParser.java
+++ b/src/dr/evomodelxml/operators/TreeBitMoveOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * TreeBitMoveOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.TreeBitMoveOperator;
diff --git a/src/dr/evomodelxml/operators/TreeBitRandomWalkOperatorParser.java b/src/dr/evomodelxml/operators/TreeBitRandomWalkOperatorParser.java
index d73f82a..918eb05 100644
--- a/src/dr/evomodelxml/operators/TreeBitRandomWalkOperatorParser.java
+++ b/src/dr/evomodelxml/operators/TreeBitRandomWalkOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * TreeBitRandomWalkOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.TreeBitRandomWalkOperator;
diff --git a/src/dr/evomodelxml/operators/TreeNodeSlideParser.java b/src/dr/evomodelxml/operators/TreeNodeSlideParser.java
index 2a7b704..da58d72 100644
--- a/src/dr/evomodelxml/operators/TreeNodeSlideParser.java
+++ b/src/dr/evomodelxml/operators/TreeNodeSlideParser.java
@@ -1,3 +1,28 @@
+/*
+ * TreeNodeSlideParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.TreeNodeSlide;
diff --git a/src/dr/evomodelxml/operators/TreeUniformParser.java b/src/dr/evomodelxml/operators/TreeUniformParser.java
index 454a371..34288f8 100644
--- a/src/dr/evomodelxml/operators/TreeUniformParser.java
+++ b/src/dr/evomodelxml/operators/TreeUniformParser.java
@@ -1,3 +1,28 @@
+/*
+ * TreeUniformParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.TreeUniform;
diff --git a/src/dr/evomodelxml/operators/WilsonBaldingParser.java b/src/dr/evomodelxml/operators/WilsonBaldingParser.java
index 43034c8..dd8c18e 100644
--- a/src/dr/evomodelxml/operators/WilsonBaldingParser.java
+++ b/src/dr/evomodelxml/operators/WilsonBaldingParser.java
@@ -1,3 +1,28 @@
+/*
+ * WilsonBaldingParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.operators;
 
 import dr.evomodel.operators.WilsonBalding;
diff --git a/src/dr/evomodelxml/sitemodel/CategorySiteModelParser.java b/src/dr/evomodelxml/sitemodel/CategorySiteModelParser.java
index 6baad88..d3dc924 100644
--- a/src/dr/evomodelxml/sitemodel/CategorySiteModelParser.java
+++ b/src/dr/evomodelxml/sitemodel/CategorySiteModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * CategorySiteModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.sitemodel;
 
 import dr.evomodel.sitemodel.CategorySiteModel;
diff --git a/src/dr/evomodelxml/sitemodel/DiscretizedLociRatesParser.java b/src/dr/evomodelxml/sitemodel/DiscretizedLociRatesParser.java
index 0becf7c..c668988 100644
--- a/src/dr/evomodelxml/sitemodel/DiscretizedLociRatesParser.java
+++ b/src/dr/evomodelxml/sitemodel/DiscretizedLociRatesParser.java
@@ -1,3 +1,28 @@
+/*
+ * DiscretizedLociRatesParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.sitemodel;
 
 import dr.xml.*;
diff --git a/src/dr/evomodelxml/sitemodel/GammaSiteBMAParser.java b/src/dr/evomodelxml/sitemodel/GammaSiteBMAParser.java
index cb6f4f2..bc87d6d 100644
--- a/src/dr/evomodelxml/sitemodel/GammaSiteBMAParser.java
+++ b/src/dr/evomodelxml/sitemodel/GammaSiteBMAParser.java
@@ -1,3 +1,28 @@
+/*
+ * GammaSiteBMAParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.sitemodel;
 
 import dr.xml.*;
diff --git a/src/dr/evomodelxml/sitemodel/GammaSiteModelParser.java b/src/dr/evomodelxml/sitemodel/GammaSiteModelParser.java
index e0d8b44..55f0ceb 100644
--- a/src/dr/evomodelxml/sitemodel/GammaSiteModelParser.java
+++ b/src/dr/evomodelxml/sitemodel/GammaSiteModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * GammaSiteModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.sitemodel;
 
 import dr.evomodel.sitemodel.GammaSiteModel;
diff --git a/src/dr/evomodelxml/sitemodel/SampleQuantileLociRatesParser.java b/src/dr/evomodelxml/sitemodel/SampleQuantileLociRatesParser.java
index 9375fd3..78448d7 100644
--- a/src/dr/evomodelxml/sitemodel/SampleQuantileLociRatesParser.java
+++ b/src/dr/evomodelxml/sitemodel/SampleQuantileLociRatesParser.java
@@ -1,3 +1,28 @@
+/*
+ * SampleQuantileLociRatesParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.sitemodel;
 
 import dr.xml.*;
diff --git a/src/dr/evomodelxml/sitemodel/SampleStateAndCategoryModelParser.java b/src/dr/evomodelxml/sitemodel/SampleStateAndCategoryModelParser.java
index 49dea33..f6547b6 100644
--- a/src/dr/evomodelxml/sitemodel/SampleStateAndCategoryModelParser.java
+++ b/src/dr/evomodelxml/sitemodel/SampleStateAndCategoryModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * SampleStateAndCategoryModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.sitemodel;
 
 import dr.evomodel.sitemodel.SampleStateAndCategoryModel;
diff --git a/src/dr/evomodelxml/sitemodel/SampleStateModelParser.java b/src/dr/evomodelxml/sitemodel/SampleStateModelParser.java
index e50bdf0..40e5e91 100644
--- a/src/dr/evomodelxml/sitemodel/SampleStateModelParser.java
+++ b/src/dr/evomodelxml/sitemodel/SampleStateModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * SampleStateModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.sitemodel;
 
 import dr.evomodel.sitemodel.SampleStateModel;
diff --git a/src/dr/evomodelxml/speciation/AlloppMSCoalescentParser.java b/src/dr/evomodelxml/speciation/AlloppMSCoalescentParser.java
index 70eb6a3..b80e6f1 100644
--- a/src/dr/evomodelxml/speciation/AlloppMSCoalescentParser.java
+++ b/src/dr/evomodelxml/speciation/AlloppMSCoalescentParser.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppMSCoalescentParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.AlloppMSCoalescent;
diff --git a/src/dr/evomodelxml/speciation/AlloppNetworkPriorModelParser.java b/src/dr/evomodelxml/speciation/AlloppNetworkPriorModelParser.java
index 8249354..9fc6b2e 100644
--- a/src/dr/evomodelxml/speciation/AlloppNetworkPriorModelParser.java
+++ b/src/dr/evomodelxml/speciation/AlloppNetworkPriorModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppNetworkPriorModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/speciation/AlloppNetworkPriorParser.java b/src/dr/evomodelxml/speciation/AlloppNetworkPriorParser.java
index 5fa5fd2..62d535d 100644
--- a/src/dr/evomodelxml/speciation/AlloppNetworkPriorParser.java
+++ b/src/dr/evomodelxml/speciation/AlloppNetworkPriorParser.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppNetworkPriorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.AlloppNetworkPrior;
diff --git a/src/dr/evomodelxml/speciation/AlloppNumHybsStatisticParser.java b/src/dr/evomodelxml/speciation/AlloppNumHybsStatisticParser.java
index da9b1f9..877a2b4 100644
--- a/src/dr/evomodelxml/speciation/AlloppNumHybsStatisticParser.java
+++ b/src/dr/evomodelxml/speciation/AlloppNumHybsStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppNumHybsStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.AlloppNumHybsStatistic;
diff --git a/src/dr/evomodelxml/speciation/AlloppSpeciesBindingsApSpInfoParser.java b/src/dr/evomodelxml/speciation/AlloppSpeciesBindingsApSpInfoParser.java
index b630b8d..5cb4a33 100644
--- a/src/dr/evomodelxml/speciation/AlloppSpeciesBindingsApSpInfoParser.java
+++ b/src/dr/evomodelxml/speciation/AlloppSpeciesBindingsApSpInfoParser.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppSpeciesBindingsApSpInfoParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 
diff --git a/src/dr/evomodelxml/speciation/AlloppSpeciesBindingsIndividualParser.java b/src/dr/evomodelxml/speciation/AlloppSpeciesBindingsIndividualParser.java
index 1c46918..190d901 100644
--- a/src/dr/evomodelxml/speciation/AlloppSpeciesBindingsIndividualParser.java
+++ b/src/dr/evomodelxml/speciation/AlloppSpeciesBindingsIndividualParser.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppSpeciesBindingsIndividualParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 
diff --git a/src/dr/evomodelxml/speciation/AlloppSpeciesBindingsParser.java b/src/dr/evomodelxml/speciation/AlloppSpeciesBindingsParser.java
index 446ecec..8acd13d 100644
--- a/src/dr/evomodelxml/speciation/AlloppSpeciesBindingsParser.java
+++ b/src/dr/evomodelxml/speciation/AlloppSpeciesBindingsParser.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppSpeciesBindingsParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.AlloppSpeciesBindings;
diff --git a/src/dr/evomodelxml/speciation/AlloppSpeciesNetworkModelParser.java b/src/dr/evomodelxml/speciation/AlloppSpeciesNetworkModelParser.java
index 7f0f6b9..967d5dc 100644
--- a/src/dr/evomodelxml/speciation/AlloppSpeciesNetworkModelParser.java
+++ b/src/dr/evomodelxml/speciation/AlloppSpeciesNetworkModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppSpeciesNetworkModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 
diff --git a/src/dr/evomodelxml/speciation/BetaSplittingModelParser.java b/src/dr/evomodelxml/speciation/BetaSplittingModelParser.java
index b1f194a..2f730a1 100644
--- a/src/dr/evomodelxml/speciation/BetaSplittingModelParser.java
+++ b/src/dr/evomodelxml/speciation/BetaSplittingModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * BetaSplittingModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/speciation/BirthDeathCollapseModelParser.java b/src/dr/evomodelxml/speciation/BirthDeathCollapseModelParser.java
index 979b7c0..f0e2210 100644
--- a/src/dr/evomodelxml/speciation/BirthDeathCollapseModelParser.java
+++ b/src/dr/evomodelxml/speciation/BirthDeathCollapseModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * BirthDeathCollapseModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 /**
diff --git a/src/dr/evomodelxml/speciation/BirthDeathCollapseNClustersStatisticParser.java b/src/dr/evomodelxml/speciation/BirthDeathCollapseNClustersStatisticParser.java
index 489d8da..cdfd0f3 100644
--- a/src/dr/evomodelxml/speciation/BirthDeathCollapseNClustersStatisticParser.java
+++ b/src/dr/evomodelxml/speciation/BirthDeathCollapseNClustersStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * BirthDeathCollapseNClustersStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.BirthDeathCollapseModel;
diff --git a/src/dr/evomodelxml/speciation/BirthDeathEpidemiologyModelParser.java b/src/dr/evomodelxml/speciation/BirthDeathEpidemiologyModelParser.java
index 786a88a..8c0f6cf 100644
--- a/src/dr/evomodelxml/speciation/BirthDeathEpidemiologyModelParser.java
+++ b/src/dr/evomodelxml/speciation/BirthDeathEpidemiologyModelParser.java
@@ -1,26 +1,26 @@
 /*
  * BirthDeathEpidemiologyModelParser.java
  *
- *  Copyright (c) 2002-2011 BEAST Core Development Team
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
- *  This file is part of BEAST.
- *  See the NOTICE file distributed with this work for additional
- *  information regarding copyright ownership and licensing.
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
  *
- *  BEAST 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; either version 2
- *  of the License, or (at your option) any later version.
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
  *
  *  BEAST is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU Lesser General Public License for more details.
  *
- *  You should have received a copy of the GNU Lesser General Public
- *  License along with BEAST; if not, write to the
- *  Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- *  Boston, MA  02110-1301  USA
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
 package dr.evomodelxml.speciation;
diff --git a/src/dr/evomodelxml/speciation/BirthDeathModelParser.java b/src/dr/evomodelxml/speciation/BirthDeathModelParser.java
index 251d1af..fb21a52 100644
--- a/src/dr/evomodelxml/speciation/BirthDeathModelParser.java
+++ b/src/dr/evomodelxml/speciation/BirthDeathModelParser.java
@@ -1,7 +1,7 @@
 /*
  * BirthDeathModelParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodelxml/speciation/BirthDeathSerialSamplingModelParser.java b/src/dr/evomodelxml/speciation/BirthDeathSerialSamplingModelParser.java
index 234d60b..6d7ddeb 100644
--- a/src/dr/evomodelxml/speciation/BirthDeathSerialSamplingModelParser.java
+++ b/src/dr/evomodelxml/speciation/BirthDeathSerialSamplingModelParser.java
@@ -1,7 +1,7 @@
 /*
  * BirthDeathSerialSamplingModelParser.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodelxml/speciation/BirthDeathSerialSkylineModelParser.java b/src/dr/evomodelxml/speciation/BirthDeathSerialSkylineModelParser.java
index f7936b4..29bd399 100644
--- a/src/dr/evomodelxml/speciation/BirthDeathSerialSkylineModelParser.java
+++ b/src/dr/evomodelxml/speciation/BirthDeathSerialSkylineModelParser.java
@@ -1,7 +1,7 @@
 /*
  * BirthDeathSerialSkylineModelParser.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodelxml/speciation/BranchingLikelihoodParser.java b/src/dr/evomodelxml/speciation/BranchingLikelihoodParser.java
index 10f56ae..69c5afb 100644
--- a/src/dr/evomodelxml/speciation/BranchingLikelihoodParser.java
+++ b/src/dr/evomodelxml/speciation/BranchingLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * BranchingLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.BranchingLikelihood;
diff --git a/src/dr/evomodelxml/speciation/ModelAveragingSpeciationLikelihoodParser.java b/src/dr/evomodelxml/speciation/ModelAveragingSpeciationLikelihoodParser.java
index 268215f..db0a464 100644
--- a/src/dr/evomodelxml/speciation/ModelAveragingSpeciationLikelihoodParser.java
+++ b/src/dr/evomodelxml/speciation/ModelAveragingSpeciationLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * ModelAveragingSpeciationLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/speciation/MulMSCoalescentParser.java b/src/dr/evomodelxml/speciation/MulMSCoalescentParser.java
index 76aab91..c71d340 100644
--- a/src/dr/evomodelxml/speciation/MulMSCoalescentParser.java
+++ b/src/dr/evomodelxml/speciation/MulMSCoalescentParser.java
@@ -1,4 +1,29 @@
 
+/*
+ * MulMSCoalescentParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.MulMSCoalescent;
diff --git a/src/dr/evomodelxml/speciation/MulSpeciesBindingsParser.java b/src/dr/evomodelxml/speciation/MulSpeciesBindingsParser.java
index bf93bbf..94e5570 100644
--- a/src/dr/evomodelxml/speciation/MulSpeciesBindingsParser.java
+++ b/src/dr/evomodelxml/speciation/MulSpeciesBindingsParser.java
@@ -1,3 +1,28 @@
+/*
+ * MulSpeciesBindingsParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.AlloppSpeciesBindings;
diff --git a/src/dr/evomodelxml/speciation/MulSpeciesTreeModelParser.java b/src/dr/evomodelxml/speciation/MulSpeciesTreeModelParser.java
index d948d56..db1bc5a 100644
--- a/src/dr/evomodelxml/speciation/MulSpeciesTreeModelParser.java
+++ b/src/dr/evomodelxml/speciation/MulSpeciesTreeModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * MulSpeciesTreeModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/speciation/MulSpeciesTreePriorParser.java b/src/dr/evomodelxml/speciation/MulSpeciesTreePriorParser.java
index 02c223d..a935c8f 100644
--- a/src/dr/evomodelxml/speciation/MulSpeciesTreePriorParser.java
+++ b/src/dr/evomodelxml/speciation/MulSpeciesTreePriorParser.java
@@ -1,3 +1,28 @@
+/*
+ * MulSpeciesTreePriorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 
diff --git a/src/dr/evomodelxml/speciation/MultiSpeciesCoalescentParser.java b/src/dr/evomodelxml/speciation/MultiSpeciesCoalescentParser.java
index 23780f6..186eb64 100644
--- a/src/dr/evomodelxml/speciation/MultiSpeciesCoalescentParser.java
+++ b/src/dr/evomodelxml/speciation/MultiSpeciesCoalescentParser.java
@@ -1,3 +1,28 @@
+/*
+ * MultiSpeciesCoalescentParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.MultiSpeciesCoalescent;
diff --git a/src/dr/evomodelxml/speciation/PopsIOMSCoalescentParser.java b/src/dr/evomodelxml/speciation/PopsIOMSCoalescentParser.java
index 25b2e21..99e9760 100644
--- a/src/dr/evomodelxml/speciation/PopsIOMSCoalescentParser.java
+++ b/src/dr/evomodelxml/speciation/PopsIOMSCoalescentParser.java
@@ -1,3 +1,28 @@
+/*
+ * PopsIOMSCoalescentParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.PopsIOMSCoalescent;
diff --git a/src/dr/evomodelxml/speciation/PopsIOSpeciesBindingsParser.java b/src/dr/evomodelxml/speciation/PopsIOSpeciesBindingsParser.java
index a822117..9ea0a52 100644
--- a/src/dr/evomodelxml/speciation/PopsIOSpeciesBindingsParser.java
+++ b/src/dr/evomodelxml/speciation/PopsIOSpeciesBindingsParser.java
@@ -1,3 +1,28 @@
+/*
+ * PopsIOSpeciesBindingsParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.PopsIOSpeciesBindings;
diff --git a/src/dr/evomodelxml/speciation/PopsIOSpeciesBindingsSpInfoParser.java b/src/dr/evomodelxml/speciation/PopsIOSpeciesBindingsSpInfoParser.java
index 0d293c4..02b3f75 100644
--- a/src/dr/evomodelxml/speciation/PopsIOSpeciesBindingsSpInfoParser.java
+++ b/src/dr/evomodelxml/speciation/PopsIOSpeciesBindingsSpInfoParser.java
@@ -1,3 +1,28 @@
+/*
+ * PopsIOSpeciesBindingsSpInfoParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evolution.util.Taxon;
diff --git a/src/dr/evomodelxml/speciation/PopsIOSpeciesTreeModelParser.java b/src/dr/evomodelxml/speciation/PopsIOSpeciesTreeModelParser.java
index 047d689..50462aa 100644
--- a/src/dr/evomodelxml/speciation/PopsIOSpeciesTreeModelParser.java
+++ b/src/dr/evomodelxml/speciation/PopsIOSpeciesTreeModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * PopsIOSpeciesTreeModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.PopsIOSpeciesBindings;
diff --git a/src/dr/evomodelxml/speciation/PopsIOSpeciesTreePriorParser.java b/src/dr/evomodelxml/speciation/PopsIOSpeciesTreePriorParser.java
index 3678f82..c79a040 100644
--- a/src/dr/evomodelxml/speciation/PopsIOSpeciesTreePriorParser.java
+++ b/src/dr/evomodelxml/speciation/PopsIOSpeciesTreePriorParser.java
@@ -1,3 +1,28 @@
+/*
+ * PopsIOSpeciesTreePriorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.PopsIOSpeciesTreeModel;
diff --git a/src/dr/evomodelxml/speciation/RLTVLoggerParser.java b/src/dr/evomodelxml/speciation/RLTVLoggerParser.java
index 0012334..653ddbb 100644
--- a/src/dr/evomodelxml/speciation/RLTVLoggerParser.java
+++ b/src/dr/evomodelxml/speciation/RLTVLoggerParser.java
@@ -1,3 +1,28 @@
+/*
+ * RLTVLoggerParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.tree.TreeModel;
diff --git a/src/dr/evomodelxml/speciation/RandomLocalYuleModelParser.java b/src/dr/evomodelxml/speciation/RandomLocalYuleModelParser.java
index cfd6efc..49366b0 100644
--- a/src/dr/evomodelxml/speciation/RandomLocalYuleModelParser.java
+++ b/src/dr/evomodelxml/speciation/RandomLocalYuleModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * RandomLocalYuleModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/speciation/SpeciationLikelihoodParser.java b/src/dr/evomodelxml/speciation/SpeciationLikelihoodParser.java
index acfeb16..397c9fa 100644
--- a/src/dr/evomodelxml/speciation/SpeciationLikelihoodParser.java
+++ b/src/dr/evomodelxml/speciation/SpeciationLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * SpeciationLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/speciation/SpeciesBindingsParser.java b/src/dr/evomodelxml/speciation/SpeciesBindingsParser.java
index 3c24913..30a0d87 100644
--- a/src/dr/evomodelxml/speciation/SpeciesBindingsParser.java
+++ b/src/dr/evomodelxml/speciation/SpeciesBindingsParser.java
@@ -1,3 +1,28 @@
+/*
+ * SpeciesBindingsParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.SpeciesBindings;
diff --git a/src/dr/evomodelxml/speciation/SpeciesBindingsSPinfoParser.java b/src/dr/evomodelxml/speciation/SpeciesBindingsSPinfoParser.java
index f508abd..0581d18 100644
--- a/src/dr/evomodelxml/speciation/SpeciesBindingsSPinfoParser.java
+++ b/src/dr/evomodelxml/speciation/SpeciesBindingsSPinfoParser.java
@@ -1,3 +1,28 @@
+/*
+ * SpeciesBindingsSPinfoParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evolution.util.Taxon;
diff --git a/src/dr/evomodelxml/speciation/SpeciesTreeBMPriorParser.java b/src/dr/evomodelxml/speciation/SpeciesTreeBMPriorParser.java
index 6e8be41..f358705 100644
--- a/src/dr/evomodelxml/speciation/SpeciesTreeBMPriorParser.java
+++ b/src/dr/evomodelxml/speciation/SpeciesTreeBMPriorParser.java
@@ -1,3 +1,28 @@
+/*
+ * SpeciesTreeBMPriorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.SpeciesTreeBMPrior;
diff --git a/src/dr/evomodelxml/speciation/SpeciesTreeModelParser.java b/src/dr/evomodelxml/speciation/SpeciesTreeModelParser.java
index 2c695c4..57e3fb5 100644
--- a/src/dr/evomodelxml/speciation/SpeciesTreeModelParser.java
+++ b/src/dr/evomodelxml/speciation/SpeciesTreeModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * SpeciesTreeModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/speciation/SpeciesTreeSimplePriorParser.java b/src/dr/evomodelxml/speciation/SpeciesTreeSimplePriorParser.java
index a0f144d..796ad90 100644
--- a/src/dr/evomodelxml/speciation/SpeciesTreeSimplePriorParser.java
+++ b/src/dr/evomodelxml/speciation/SpeciesTreeSimplePriorParser.java
@@ -1,3 +1,28 @@
+/*
+ * SpeciesTreeSimplePriorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evomodel.speciation.SpeciesTreeModel;
diff --git a/src/dr/evomodelxml/speciation/TaxonRichnessBirthDeathModelParser.java b/src/dr/evomodelxml/speciation/TaxonRichnessBirthDeathModelParser.java
index 44a5c85..31a9c5d 100644
--- a/src/dr/evomodelxml/speciation/TaxonRichnessBirthDeathModelParser.java
+++ b/src/dr/evomodelxml/speciation/TaxonRichnessBirthDeathModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * TaxonRichnessBirthDeathModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.speciation;
 
 import dr.evolution.util.Units;
diff --git a/src/dr/evomodelxml/speciation/YuleModelParser.java b/src/dr/evomodelxml/speciation/YuleModelParser.java
index a141acc..60bc90e 100644
--- a/src/dr/evomodelxml/speciation/YuleModelParser.java
+++ b/src/dr/evomodelxml/speciation/YuleModelParser.java
@@ -1,7 +1,7 @@
 /*
  * YuleModelParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodelxml/substmodel/AsymQuadModelParser.java b/src/dr/evomodelxml/substmodel/AsymQuadModelParser.java
index f9e7f04..ae549e8 100644
--- a/src/dr/evomodelxml/substmodel/AsymQuadModelParser.java
+++ b/src/dr/evomodelxml/substmodel/AsymQuadModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * AsymQuadModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evolution.datatype.Microsatellite;
diff --git a/src/dr/evomodelxml/substmodel/BinaryCovarionModelParser.java b/src/dr/evomodelxml/substmodel/BinaryCovarionModelParser.java
index bbde5f6..b37d28a 100644
--- a/src/dr/evomodelxml/substmodel/BinaryCovarionModelParser.java
+++ b/src/dr/evomodelxml/substmodel/BinaryCovarionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * BinaryCovarionModelParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/substmodel/BinarySubstitutionModelParser.java b/src/dr/evomodelxml/substmodel/BinarySubstitutionModelParser.java
index 92e4628..0ff8f0b 100644
--- a/src/dr/evomodelxml/substmodel/BinarySubstitutionModelParser.java
+++ b/src/dr/evomodelxml/substmodel/BinarySubstitutionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * BinarySubstitutionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evolution.datatype.DataType;
diff --git a/src/dr/evomodelxml/substmodel/ComplexSubstitutionModelParser.java b/src/dr/evomodelxml/substmodel/ComplexSubstitutionModelParser.java
index 79b9705..dc40515 100644
--- a/src/dr/evomodelxml/substmodel/ComplexSubstitutionModelParser.java
+++ b/src/dr/evomodelxml/substmodel/ComplexSubstitutionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ComplexSubstitutionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evolution.datatype.DataType;
diff --git a/src/dr/evomodelxml/substmodel/CovarionGTRParser.java b/src/dr/evomodelxml/substmodel/CovarionGTRParser.java
index fba060b..5993813 100644
--- a/src/dr/evomodelxml/substmodel/CovarionGTRParser.java
+++ b/src/dr/evomodelxml/substmodel/CovarionGTRParser.java
@@ -1,3 +1,28 @@
+/*
+ * CovarionGTRParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evolution.datatype.HiddenNucleotides;
diff --git a/src/dr/evomodelxml/substmodel/CovarionHKYParser.java b/src/dr/evomodelxml/substmodel/CovarionHKYParser.java
index 4099060..723c09e 100644
--- a/src/dr/evomodelxml/substmodel/CovarionHKYParser.java
+++ b/src/dr/evomodelxml/substmodel/CovarionHKYParser.java
@@ -1,3 +1,28 @@
+/*
+ * CovarionHKYParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evolution.datatype.HiddenNucleotides;
diff --git a/src/dr/evomodelxml/substmodel/EmpiricalAminoAcidModelParser.java b/src/dr/evomodelxml/substmodel/EmpiricalAminoAcidModelParser.java
index 2ab7144..264f273 100644
--- a/src/dr/evomodelxml/substmodel/EmpiricalAminoAcidModelParser.java
+++ b/src/dr/evomodelxml/substmodel/EmpiricalAminoAcidModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * EmpiricalAminoAcidModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evomodel.substmodel.*;
diff --git a/src/dr/evomodelxml/substmodel/EmpiricalCodonModelParser.java b/src/dr/evomodelxml/substmodel/EmpiricalCodonModelParser.java
index e77d851..2dc0fbc 100644
--- a/src/dr/evomodelxml/substmodel/EmpiricalCodonModelParser.java
+++ b/src/dr/evomodelxml/substmodel/EmpiricalCodonModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * EmpiricalCodonModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import java.util.logging.Logger;
diff --git a/src/dr/evomodelxml/substmodel/FrequencyModelParser.java b/src/dr/evomodelxml/substmodel/FrequencyModelParser.java
index 63ad6d4..0b7dff2 100644
--- a/src/dr/evomodelxml/substmodel/FrequencyModelParser.java
+++ b/src/dr/evomodelxml/substmodel/FrequencyModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * FrequencyModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evolution.alignment.PatternList;
diff --git a/src/dr/evomodelxml/substmodel/GLMSubstitutionModelParser.java b/src/dr/evomodelxml/substmodel/GLMSubstitutionModelParser.java
index 03d7e27..95ec988 100644
--- a/src/dr/evomodelxml/substmodel/GLMSubstitutionModelParser.java
+++ b/src/dr/evomodelxml/substmodel/GLMSubstitutionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * GLMSubstitutionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evolution.datatype.DataType;
diff --git a/src/dr/evomodelxml/substmodel/GTRParser.java b/src/dr/evomodelxml/substmodel/GTRParser.java
index 8ec8249..bf106e4 100644
--- a/src/dr/evomodelxml/substmodel/GTRParser.java
+++ b/src/dr/evomodelxml/substmodel/GTRParser.java
@@ -1,3 +1,28 @@
+/*
+ * GTRParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evomodel.substmodel.FrequencyModel;
diff --git a/src/dr/evomodelxml/substmodel/GeneralF81ModelParser.java b/src/dr/evomodelxml/substmodel/GeneralF81ModelParser.java
index 33bc537..f6dd1ea 100644
--- a/src/dr/evomodelxml/substmodel/GeneralF81ModelParser.java
+++ b/src/dr/evomodelxml/substmodel/GeneralF81ModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * GeneralF81ModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evomodel.substmodel.FrequencyModel;
diff --git a/src/dr/evomodelxml/substmodel/GeneralSubstitutionModelParser.java b/src/dr/evomodelxml/substmodel/GeneralSubstitutionModelParser.java
index 702dc3b..02e0153 100644
--- a/src/dr/evomodelxml/substmodel/GeneralSubstitutionModelParser.java
+++ b/src/dr/evomodelxml/substmodel/GeneralSubstitutionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * GeneralSubstitutionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evolution.datatype.DataType;
diff --git a/src/dr/evomodelxml/substmodel/HKYParser.java b/src/dr/evomodelxml/substmodel/HKYParser.java
index 15f9070..b107915 100644
--- a/src/dr/evomodelxml/substmodel/HKYParser.java
+++ b/src/dr/evomodelxml/substmodel/HKYParser.java
@@ -1,3 +1,28 @@
+/*
+ * HKYParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evomodel.substmodel.FrequencyModel;
diff --git a/src/dr/evomodelxml/substmodel/LewisMkSubstitutionModelParser.java b/src/dr/evomodelxml/substmodel/LewisMkSubstitutionModelParser.java
index 1ea3e67..4fa4e29 100644
--- a/src/dr/evomodelxml/substmodel/LewisMkSubstitutionModelParser.java
+++ b/src/dr/evomodelxml/substmodel/LewisMkSubstitutionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * LewisMkSubstitutionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evolution.datatype.DataType;
diff --git a/src/dr/evomodelxml/substmodel/LinearBiasModelParser.java b/src/dr/evomodelxml/substmodel/LinearBiasModelParser.java
index 8cf6049..b7c9c8b 100644
--- a/src/dr/evomodelxml/substmodel/LinearBiasModelParser.java
+++ b/src/dr/evomodelxml/substmodel/LinearBiasModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * LinearBiasModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evolution.datatype.Microsatellite;
diff --git a/src/dr/evomodelxml/substmodel/MkModelParser.java b/src/dr/evomodelxml/substmodel/MkModelParser.java
index f14aab6..1ab981f 100644
--- a/src/dr/evomodelxml/substmodel/MkModelParser.java
+++ b/src/dr/evomodelxml/substmodel/MkModelParser.java
@@ -1,7 +1,7 @@
 /*
  * MkModelParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evomodelxml/substmodel/MsatBMAParser.java b/src/dr/evomodelxml/substmodel/MsatBMAParser.java
index be6b4d5..6431e4a 100644
--- a/src/dr/evomodelxml/substmodel/MsatBMAParser.java
+++ b/src/dr/evomodelxml/substmodel/MsatBMAParser.java
@@ -1,3 +1,28 @@
+/*
+ * MsatBMAParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.xml.*;
diff --git a/src/dr/evomodelxml/substmodel/MultivariateOUModelParser.java b/src/dr/evomodelxml/substmodel/MultivariateOUModelParser.java
index 5d8624f..ecfbe02 100644
--- a/src/dr/evomodelxml/substmodel/MultivariateOUModelParser.java
+++ b/src/dr/evomodelxml/substmodel/MultivariateOUModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * MultivariateOUModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evomodel.substmodel.MultivariateOUModel;
diff --git a/src/dr/evomodelxml/substmodel/MutationDeathModelParser.java b/src/dr/evomodelxml/substmodel/MutationDeathModelParser.java
index e2cd5cd..2613b12 100644
--- a/src/dr/evomodelxml/substmodel/MutationDeathModelParser.java
+++ b/src/dr/evomodelxml/substmodel/MutationDeathModelParser.java
@@ -1,7 +1,7 @@
 /*
  * MutationDeathModelParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/substmodel/NewMicrosatelliteModelParser.java b/src/dr/evomodelxml/substmodel/NewMicrosatelliteModelParser.java
index 4d94016..25beeb3 100644
--- a/src/dr/evomodelxml/substmodel/NewMicrosatelliteModelParser.java
+++ b/src/dr/evomodelxml/substmodel/NewMicrosatelliteModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * NewMicrosatelliteModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evolution.datatype.Microsatellite;
diff --git a/src/dr/evomodelxml/substmodel/NtdBMAParser.java b/src/dr/evomodelxml/substmodel/NtdBMAParser.java
index 17f56c0..01f19a8 100644
--- a/src/dr/evomodelxml/substmodel/NtdBMAParser.java
+++ b/src/dr/evomodelxml/substmodel/NtdBMAParser.java
@@ -1,3 +1,28 @@
+/*
+ * NtdBMAParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.xml.*;
diff --git a/src/dr/evomodelxml/substmodel/PCACodonModelParser.java b/src/dr/evomodelxml/substmodel/PCACodonModelParser.java
index 0801329..9147d12 100644
--- a/src/dr/evomodelxml/substmodel/PCACodonModelParser.java
+++ b/src/dr/evomodelxml/substmodel/PCACodonModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * PCACodonModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import java.util.logging.Logger;
diff --git a/src/dr/evomodelxml/substmodel/PositiveDefiniteSubstitutionModelParser.java b/src/dr/evomodelxml/substmodel/PositiveDefiniteSubstitutionModelParser.java
index 71b3126..df07e38 100644
--- a/src/dr/evomodelxml/substmodel/PositiveDefiniteSubstitutionModelParser.java
+++ b/src/dr/evomodelxml/substmodel/PositiveDefiniteSubstitutionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * PositiveDefiniteSubstitutionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evomodel.substmodel.PositiveDefiniteSubstitutionModel;
diff --git a/src/dr/evomodelxml/substmodel/SubstitutionEpochModelParser.java b/src/dr/evomodelxml/substmodel/SubstitutionEpochModelParser.java
index f51cb03..39d1043 100644
--- a/src/dr/evomodelxml/substmodel/SubstitutionEpochModelParser.java
+++ b/src/dr/evomodelxml/substmodel/SubstitutionEpochModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * SubstitutionEpochModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evolution.datatype.DataType;
diff --git a/src/dr/evomodelxml/substmodel/TN93Parser.java b/src/dr/evomodelxml/substmodel/TN93Parser.java
index 07c9870..00e034b 100644
--- a/src/dr/evomodelxml/substmodel/TN93Parser.java
+++ b/src/dr/evomodelxml/substmodel/TN93Parser.java
@@ -1,3 +1,28 @@
+/*
+ * TN93Parser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evomodel.substmodel.FrequencyModel;
diff --git a/src/dr/evomodelxml/substmodel/TwoPhaseModelParser.java b/src/dr/evomodelxml/substmodel/TwoPhaseModelParser.java
index cd87d21..d79d030 100644
--- a/src/dr/evomodelxml/substmodel/TwoPhaseModelParser.java
+++ b/src/dr/evomodelxml/substmodel/TwoPhaseModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * TwoPhaseModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evolution.datatype.Microsatellite;
diff --git a/src/dr/evomodelxml/substmodel/TwoStateCovarionModelParser.java b/src/dr/evomodelxml/substmodel/TwoStateCovarionModelParser.java
index 54e2bd8..7fb9cc1 100644
--- a/src/dr/evomodelxml/substmodel/TwoStateCovarionModelParser.java
+++ b/src/dr/evomodelxml/substmodel/TwoStateCovarionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * TwoStateCovarionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evolution.datatype.TwoStateCovarion;
diff --git a/src/dr/evomodelxml/substmodel/YangCodonModelParser.java b/src/dr/evomodelxml/substmodel/YangCodonModelParser.java
index 91c2e72..1a87bc8 100644
--- a/src/dr/evomodelxml/substmodel/YangCodonModelParser.java
+++ b/src/dr/evomodelxml/substmodel/YangCodonModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * YangCodonModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.substmodel;
 
 import dr.evolution.datatype.Codons;
diff --git a/src/dr/evomodelxml/tree/AncestralTraitParser.java b/src/dr/evomodelxml/tree/AncestralTraitParser.java
index 1756a4a..5138320 100644
--- a/src/dr/evomodelxml/tree/AncestralTraitParser.java
+++ b/src/dr/evomodelxml/tree/AncestralTraitParser.java
@@ -1,3 +1,28 @@
+/*
+ * AncestralTraitParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/tree/CompatibilityStatisticParser.java b/src/dr/evomodelxml/tree/CompatibilityStatisticParser.java
index c4c29fa..1600bf5 100644
--- a/src/dr/evomodelxml/tree/CompatibilityStatisticParser.java
+++ b/src/dr/evomodelxml/tree/CompatibilityStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * CompatibilityStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/tree/ExternalLengthStatisticParser.java b/src/dr/evomodelxml/tree/ExternalLengthStatisticParser.java
index c4a7820..7975f58 100644
--- a/src/dr/evomodelxml/tree/ExternalLengthStatisticParser.java
+++ b/src/dr/evomodelxml/tree/ExternalLengthStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * ExternalLengthStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/tree/HiddenLinkageLoggerParser.java b/src/dr/evomodelxml/tree/HiddenLinkageLoggerParser.java
index 5bb903a..a4c8dc1 100644
--- a/src/dr/evomodelxml/tree/HiddenLinkageLoggerParser.java
+++ b/src/dr/evomodelxml/tree/HiddenLinkageLoggerParser.java
@@ -1,3 +1,28 @@
+/*
+ * HiddenLinkageLoggerParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import java.io.PrintWriter;
diff --git a/src/dr/evomodelxml/tree/HiddenLinkageModelParser.java b/src/dr/evomodelxml/tree/HiddenLinkageModelParser.java
index e4e1f5e..257607e 100644
--- a/src/dr/evomodelxml/tree/HiddenLinkageModelParser.java
+++ b/src/dr/evomodelxml/tree/HiddenLinkageModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * HiddenLinkageModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.MetagenomeData;
diff --git a/src/dr/evomodelxml/tree/HiddenLinkageTreeLoggerParser.java b/src/dr/evomodelxml/tree/HiddenLinkageTreeLoggerParser.java
index 9fe510a..ec8db1f 100644
--- a/src/dr/evomodelxml/tree/HiddenLinkageTreeLoggerParser.java
+++ b/src/dr/evomodelxml/tree/HiddenLinkageTreeLoggerParser.java
@@ -1,3 +1,28 @@
+/*
+ * HiddenLinkageTreeLoggerParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evomodel.tree.HiddenLinkageModel;
diff --git a/src/dr/evomodelxml/tree/MRCATraitStatisticParser.java b/src/dr/evomodelxml/tree/MRCATraitStatisticParser.java
index 16eaa37..c943dab 100644
--- a/src/dr/evomodelxml/tree/MRCATraitStatisticParser.java
+++ b/src/dr/evomodelxml/tree/MRCATraitStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * MRCATraitStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/tree/MicrosatelliteSamplerTreeModelParser.java b/src/dr/evomodelxml/tree/MicrosatelliteSamplerTreeModelParser.java
index 6fc36d3..a4deea0 100644
--- a/src/dr/evomodelxml/tree/MicrosatelliteSamplerTreeModelParser.java
+++ b/src/dr/evomodelxml/tree/MicrosatelliteSamplerTreeModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * MicrosatelliteSamplerTreeModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.alignment.Patterns;
diff --git a/src/dr/evomodelxml/tree/MonophylyStatisticParser.java b/src/dr/evomodelxml/tree/MonophylyStatisticParser.java
index bb440a6..b201987 100644
--- a/src/dr/evomodelxml/tree/MonophylyStatisticParser.java
+++ b/src/dr/evomodelxml/tree/MonophylyStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * MonophylyStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/tree/NodeHeightsStatisticParser.java b/src/dr/evomodelxml/tree/NodeHeightsStatisticParser.java
index f8a4593..056be16 100644
--- a/src/dr/evomodelxml/tree/NodeHeightsStatisticParser.java
+++ b/src/dr/evomodelxml/tree/NodeHeightsStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * NodeHeightsStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/tree/ParsimonyStateStatisticParser.java b/src/dr/evomodelxml/tree/ParsimonyStateStatisticParser.java
index 88e6bfc..de40934 100644
--- a/src/dr/evomodelxml/tree/ParsimonyStateStatisticParser.java
+++ b/src/dr/evomodelxml/tree/ParsimonyStateStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * ParsimonyStateStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/tree/ParsimonyStatisticParser.java b/src/dr/evomodelxml/tree/ParsimonyStatisticParser.java
index dd3ec81..b8961d7 100644
--- a/src/dr/evomodelxml/tree/ParsimonyStatisticParser.java
+++ b/src/dr/evomodelxml/tree/ParsimonyStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * ParsimonyStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/tree/RLTVLoggerOnTreeParser.java b/src/dr/evomodelxml/tree/RLTVLoggerOnTreeParser.java
index f6879a9..e988324 100644
--- a/src/dr/evomodelxml/tree/RLTVLoggerOnTreeParser.java
+++ b/src/dr/evomodelxml/tree/RLTVLoggerOnTreeParser.java
@@ -1,3 +1,28 @@
+/*
+ * RLTVLoggerOnTreeParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evomodel.tree.randomlocalmodel.RLTVLoggerOnTree;
diff --git a/src/dr/evomodelxml/tree/RateCovarianceStatisticParser.java b/src/dr/evomodelxml/tree/RateCovarianceStatisticParser.java
index 1446a36..94e29f1 100644
--- a/src/dr/evomodelxml/tree/RateCovarianceStatisticParser.java
+++ b/src/dr/evomodelxml/tree/RateCovarianceStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * RateCovarianceStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/tree/RateStatisticParser.java b/src/dr/evomodelxml/tree/RateStatisticParser.java
index 34d0e25..9517497 100644
--- a/src/dr/evomodelxml/tree/RateStatisticParser.java
+++ b/src/dr/evomodelxml/tree/RateStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * RateStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/tree/SpeciesTreeStatisticParser.java b/src/dr/evomodelxml/tree/SpeciesTreeStatisticParser.java
index dd1fe41..210144a 100644
--- a/src/dr/evomodelxml/tree/SpeciesTreeStatisticParser.java
+++ b/src/dr/evomodelxml/tree/SpeciesTreeStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * SpeciesTreeStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/tree/StarTreeModelParser.java b/src/dr/evomodelxml/tree/StarTreeModelParser.java
index 179a052..78e15e9 100644
--- a/src/dr/evomodelxml/tree/StarTreeModelParser.java
+++ b/src/dr/evomodelxml/tree/StarTreeModelParser.java
@@ -1,7 +1,7 @@
 /*
  * StarTreeModelParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/tree/TMRCAStatisticParser.java b/src/dr/evomodelxml/tree/TMRCAStatisticParser.java
index 3761abb..438320e 100644
--- a/src/dr/evomodelxml/tree/TMRCAStatisticParser.java
+++ b/src/dr/evomodelxml/tree/TMRCAStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * TMRCAStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/tree/TipHeightLikelihoodParser.java b/src/dr/evomodelxml/tree/TipHeightLikelihoodParser.java
index 8540ba3..60814f3 100644
--- a/src/dr/evomodelxml/tree/TipHeightLikelihoodParser.java
+++ b/src/dr/evomodelxml/tree/TipHeightLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * TipHeightLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evomodel.tree.TipHeightLikelihood;
diff --git a/src/dr/evomodelxml/tree/TransformedTreeModelParser.java b/src/dr/evomodelxml/tree/TransformedTreeModelParser.java
index c8e74fc..3b5b8fb 100644
--- a/src/dr/evomodelxml/tree/TransformedTreeModelParser.java
+++ b/src/dr/evomodelxml/tree/TransformedTreeModelParser.java
@@ -1,7 +1,7 @@
 /*
  * TransformedTreeModelParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evomodelxml/tree/TreeHeightStatisticParser.java b/src/dr/evomodelxml/tree/TreeHeightStatisticParser.java
index bc6fef5..9e526bc 100644
--- a/src/dr/evomodelxml/tree/TreeHeightStatisticParser.java
+++ b/src/dr/evomodelxml/tree/TreeHeightStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * TreeHeightStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/tree/TreeLengthStatisticParser.java b/src/dr/evomodelxml/tree/TreeLengthStatisticParser.java
index c7b0fdb..0a4b0eb 100644
--- a/src/dr/evomodelxml/tree/TreeLengthStatisticParser.java
+++ b/src/dr/evomodelxml/tree/TreeLengthStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * TreeLengthStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/tree/TreeLoggerParser.java b/src/dr/evomodelxml/tree/TreeLoggerParser.java
index ada2f63..ac19ad5 100644
--- a/src/dr/evomodelxml/tree/TreeLoggerParser.java
+++ b/src/dr/evomodelxml/tree/TreeLoggerParser.java
@@ -1,3 +1,28 @@
+/*
+ * TreeLoggerParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.colouring.TreeColouringProvider;
diff --git a/src/dr/evomodelxml/tree/TreeMetricStatisticParser.java b/src/dr/evomodelxml/tree/TreeMetricStatisticParser.java
index b81328e..2b878fe 100644
--- a/src/dr/evomodelxml/tree/TreeMetricStatisticParser.java
+++ b/src/dr/evomodelxml/tree/TreeMetricStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * TreeMetricStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evolution.tree.Tree;
diff --git a/src/dr/evomodelxml/tree/TreeModelParser.java b/src/dr/evomodelxml/tree/TreeModelParser.java
index 27b3b6a..29e9d82 100644
--- a/src/dr/evomodelxml/tree/TreeModelParser.java
+++ b/src/dr/evomodelxml/tree/TreeModelParser.java
@@ -1,7 +1,7 @@
 /*
- * TreeTrace.java
+ * TreeModelParser.java
  *
- * Copyright (C) 2002-2007 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -60,6 +60,7 @@ public class TreeModelParser extends AbstractXMLObjectParser {
     public static final String LEAF_HEIGHTS = "leafHeights";
 
     public static final String FIRE_TREE_EVENTS = "fireTreeEvents";
+    public static final String FIX_HEIGHTS = "fixHeights";
 
     public static final String TAXON = "taxon";
     public static final String NAME = "name";
@@ -68,6 +69,7 @@ public class TreeModelParser extends AbstractXMLObjectParser {
         rules = new XMLSyntaxRule[]{
                 new ElementRule(Tree.class),
                 new ElementRule(ROOT_HEIGHT, Parameter.class, "A parameter definition with id only (cannot be a reference!)", false),
+                AttributeRule.newBooleanRule(FIX_HEIGHTS, true),
                 new ElementRule(NODE_HEIGHTS,
                         new XMLSyntaxRule[]{
                                 AttributeRule.newBooleanRule(ROOT_NODE, true, "If true the root height is included in the parameter"),
@@ -122,7 +124,9 @@ public class TreeModelParser extends AbstractXMLObjectParser {
     public Object parseXMLObject(XMLObject xo) throws XMLParseException {
 
         Tree tree = (Tree) xo.getChild(Tree.class);
-        TreeModel treeModel = new TreeModel(xo.getId(), tree);
+        boolean fixHeights = xo.getAttribute(FIX_HEIGHTS, false);
+
+        TreeModel treeModel = new TreeModel(xo.getId(), tree, fixHeights);
 
         Logger.getLogger("dr.evomodel").info("Creating the tree model, '" + xo.getId() + "'");
 
diff --git a/src/dr/evomodelxml/tree/TreeShapeStatisticParser.java b/src/dr/evomodelxml/tree/TreeShapeStatisticParser.java
index 1265647..ec891aa 100644
--- a/src/dr/evomodelxml/tree/TreeShapeStatisticParser.java
+++ b/src/dr/evomodelxml/tree/TreeShapeStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * TreeShapeStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evomodel.tree.TreeModel;
diff --git a/src/dr/evomodelxml/tree/UniformNodeHeightPriorParser.java b/src/dr/evomodelxml/tree/UniformNodeHeightPriorParser.java
index a90ade5..9e41ec8 100644
--- a/src/dr/evomodelxml/tree/UniformNodeHeightPriorParser.java
+++ b/src/dr/evomodelxml/tree/UniformNodeHeightPriorParser.java
@@ -1,3 +1,28 @@
+/*
+ * UniformNodeHeightPriorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.tree;
 
 import dr.evomodel.tree.TreeModel;
diff --git a/src/dr/evomodelxml/treelikelihood/AncestralStateTreeLikelihoodParser.java b/src/dr/evomodelxml/treelikelihood/AncestralStateTreeLikelihoodParser.java
index 952345b..536f6fa 100644
--- a/src/dr/evomodelxml/treelikelihood/AncestralStateTreeLikelihoodParser.java
+++ b/src/dr/evomodelxml/treelikelihood/AncestralStateTreeLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * AncestralStateTreeLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.treelikelihood;
 
 import dr.evolution.alignment.PatternList;
@@ -31,7 +56,7 @@ public class AncestralStateTreeLikelihoodParser extends AbstractXMLObjectParser
 
     public Object parseXMLObject(XMLObject xo) throws XMLParseException {
 
-        throw new XMLParseException("Ancestral state functionality is only support when using the BEAGLE library.\nAvailable from http://http://beagle-lib.googlecode.com/");
+        throw new XMLParseException("Ancestral state functionality is only support when using the BEAGLE library.\nAvailable from http://github.com/beagle-dev/beagle-lib/");
 
 //        boolean useAmbiguities = xo.getAttribute(TreeLikelihoodParser.USE_AMBIGUITIES, false);
 //        boolean storePartials = xo.getAttribute(TreeLikelihoodParser.STORE_PARTIALS, true);
diff --git a/src/dr/evomodelxml/treelikelihood/HiddenLinkageLikelihoodParser.java b/src/dr/evomodelxml/treelikelihood/HiddenLinkageLikelihoodParser.java
index 87b4891..9800477 100644
--- a/src/dr/evomodelxml/treelikelihood/HiddenLinkageLikelihoodParser.java
+++ b/src/dr/evomodelxml/treelikelihood/HiddenLinkageLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * HiddenLinkageLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.treelikelihood;
 
 import dr.evomodel.tree.HiddenLinkageModel;
diff --git a/src/dr/evomodelxml/treelikelihood/MarkovJumpsTreeLikelihoodParser.java b/src/dr/evomodelxml/treelikelihood/MarkovJumpsTreeLikelihoodParser.java
index 7af4826..8614167 100644
--- a/src/dr/evomodelxml/treelikelihood/MarkovJumpsTreeLikelihoodParser.java
+++ b/src/dr/evomodelxml/treelikelihood/MarkovJumpsTreeLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * MarkovJumpsTreeLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.treelikelihood;
 
 import dr.evolution.alignment.PatternList;
@@ -20,7 +45,7 @@ public class MarkovJumpsTreeLikelihoodParser extends AbstractXMLObjectParser {
     }
 
     public Object parseXMLObject(XMLObject xo) throws XMLParseException {
-        throw new XMLParseException("MarkovJump functionality is only support when using the BEAGLE library.\nAvailable from http://http://beagle-lib.googlecode.com/");
+        throw new XMLParseException("MarkovJump functionality is only support when using the BEAGLE library.\nAvailable from http://github.com/beagle-dev/beagle-lib/");
     }
 
     //************************************************************************
diff --git a/src/dr/evomodelxml/treelikelihood/MicrosatelliteSamplerTreeLikelihoodParser.java b/src/dr/evomodelxml/treelikelihood/MicrosatelliteSamplerTreeLikelihoodParser.java
index 8ff19a3..86272d6 100644
--- a/src/dr/evomodelxml/treelikelihood/MicrosatelliteSamplerTreeLikelihoodParser.java
+++ b/src/dr/evomodelxml/treelikelihood/MicrosatelliteSamplerTreeLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * MicrosatelliteSamplerTreeLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.treelikelihood;
 
 import dr.evomodel.branchratemodel.BranchRateModel;
diff --git a/src/dr/evomodelxml/treelikelihood/SequenceErrorModelParser.java b/src/dr/evomodelxml/treelikelihood/SequenceErrorModelParser.java
index f002110..d82e655 100644
--- a/src/dr/evomodelxml/treelikelihood/SequenceErrorModelParser.java
+++ b/src/dr/evomodelxml/treelikelihood/SequenceErrorModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * SequenceErrorModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.treelikelihood;
 
 import dr.evolution.util.TaxonList;
diff --git a/src/dr/evomodelxml/treelikelihood/TreeLikelihoodParser.java b/src/dr/evomodelxml/treelikelihood/TreeLikelihoodParser.java
index 2cef4a1..18a3f8f 100644
--- a/src/dr/evomodelxml/treelikelihood/TreeLikelihoodParser.java
+++ b/src/dr/evomodelxml/treelikelihood/TreeLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * TreeLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evomodelxml.treelikelihood;
 
 import dr.evolution.alignment.PatternList;
diff --git a/src/dr/evomodelxml/treelikelihood/TreeTraitParserUtilities.java b/src/dr/evomodelxml/treelikelihood/TreeTraitParserUtilities.java
index 8fbbcf9..8fabd51 100644
--- a/src/dr/evomodelxml/treelikelihood/TreeTraitParserUtilities.java
+++ b/src/dr/evomodelxml/treelikelihood/TreeTraitParserUtilities.java
@@ -1,7 +1,7 @@
 /*
  * TreeTraitParserUtilities.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -56,6 +56,7 @@ public class TreeTraitParserUtilities {
     public static final String JITTER = "jitter";
     public static final String WINDOW = "window";
     public static final String DUPLICATES = "duplicatesOnly";
+    public static final String STANDARDIZE = "standardize";
 
     public void randomize(Parameter trait, double[] lower, double[] upper) {
         // Draws each dimension in each trait from U[lower, upper)
@@ -67,6 +68,10 @@ public class TreeTraitParserUtilities {
         }
     }
 
+//    public void standardize(Parameter trait) {
+//        for (int i = 0; i < trait.)
+//    }
+
     public static ElementRule randomizeRules(boolean optional) {
         return new ElementRule(TreeTraitParserUtilities.RANDOMIZE, new XMLSyntaxRule[]{
                 AttributeRule.newDoubleRule(TreeTraitParserUtilities.RANDOMIZE_LOWER, true),
@@ -141,21 +146,26 @@ public class TreeTraitParserUtilities {
         }
     }
 
-    public boolean hasIdenticalTraits(Parameter trait, int dim) {
+    public boolean hasIdenticalTraits(Parameter trait, List<Integer> missingIndices, int dim) {
         int numTraits = trait.getDimension() / dim;
 
-        DoubleArray[] traitArray = new DoubleArray[numTraits];
+        List<DoubleArray> traitArray = new ArrayList<DoubleArray>();
         for (int i = 0; i < numTraits; i++) {
-            double[] x = new double[dim];
-            for (int j = 0; j < dim; j++) {
-                x[j] = trait.getParameterValue(i * dim + j);
+
+            if (!missingIndices.contains(i * dim)) { // TODO Assumes completely missing traits
+                double[] x = new double[dim];
+                for (int j = 0; j < dim; j++) {
+                    x[j] = trait.getParameterValue(i * dim + j);
+                }
+                traitArray.add(new DoubleArray(x, i));
             }
-            traitArray[i] = new DoubleArray(x, i);
         }
-        Arrays.sort(traitArray);
+
+        DoubleArray[] sortedTraits = traitArray.toArray(new DoubleArray[0]);
+        Arrays.sort(sortedTraits);
         // Mark duplicates
-        for (int i = 1; i < numTraits; i++) {
-            if (traitArray[i].compareTo(traitArray[i - 1]) == 0) {
+        for (int i = 1; i < sortedTraits.length; i++) {
+            if (sortedTraits[i].compareTo(sortedTraits[i - 1]) == 0) {
                 return true;
             }
         }
diff --git a/src/dr/evoxml/AlignmentParser.java b/src/dr/evoxml/AlignmentParser.java
index 4e8d48f..0abfccc 100644
--- a/src/dr/evoxml/AlignmentParser.java
+++ b/src/dr/evoxml/AlignmentParser.java
@@ -1,7 +1,7 @@
 /*
  * AlignmentParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/AscertainedSitePatternsParser.java b/src/dr/evoxml/AscertainedSitePatternsParser.java
index e03889a..715a67a 100644
--- a/src/dr/evoxml/AscertainedSitePatternsParser.java
+++ b/src/dr/evoxml/AscertainedSitePatternsParser.java
@@ -1,3 +1,28 @@
+/*
+ * AscertainedSitePatternsParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml;
 
 import dr.evolution.alignment.Alignment;
diff --git a/src/dr/evoxml/AttributePatternsParser.java b/src/dr/evoxml/AttributePatternsParser.java
index cc9b7f2..8a38c46 100644
--- a/src/dr/evoxml/AttributePatternsParser.java
+++ b/src/dr/evoxml/AttributePatternsParser.java
@@ -1,7 +1,7 @@
 /*
- * SitePatternsParser.java
+ * AttributePatternsParser.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut & Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/BifractionalDiffusionModelParser.java b/src/dr/evoxml/BifractionalDiffusionModelParser.java
index 90ab97c..6bb98cd 100644
--- a/src/dr/evoxml/BifractionalDiffusionModelParser.java
+++ b/src/dr/evoxml/BifractionalDiffusionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * BifractionalDiffusionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml;
 
 import dr.xml.*;
diff --git a/src/dr/evoxml/CompositeDataTypeParser.java b/src/dr/evoxml/CompositeDataTypeParser.java
index ea6c4fd..8e90d7f 100644
--- a/src/dr/evoxml/CompositeDataTypeParser.java
+++ b/src/dr/evoxml/CompositeDataTypeParser.java
@@ -1,7 +1,7 @@
 /*
- * GeneralDataTypeParser.java
+ * CompositeDataTypeParser.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut & Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/ConstantPatternsParser.java b/src/dr/evoxml/ConstantPatternsParser.java
index 6107915..785f944 100644
--- a/src/dr/evoxml/ConstantPatternsParser.java
+++ b/src/dr/evoxml/ConstantPatternsParser.java
@@ -1,7 +1,7 @@
 /*
- * PatternsParser.java
+ * ConstantPatternsParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/ConvertAlignmentParser.java b/src/dr/evoxml/ConvertAlignmentParser.java
index 977a692..2d57a96 100644
--- a/src/dr/evoxml/ConvertAlignmentParser.java
+++ b/src/dr/evoxml/ConvertAlignmentParser.java
@@ -1,7 +1,7 @@
 /*
  * ConvertAlignmentParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/DateParser.java b/src/dr/evoxml/DateParser.java
index f5e635f..992958d 100644
--- a/src/dr/evoxml/DateParser.java
+++ b/src/dr/evoxml/DateParser.java
@@ -1,7 +1,7 @@
 /*
  * DateParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evoxml/DistanceMatrixParser.java b/src/dr/evoxml/DistanceMatrixParser.java
index a200bc4..6cbc652 100644
--- a/src/dr/evoxml/DistanceMatrixParser.java
+++ b/src/dr/evoxml/DistanceMatrixParser.java
@@ -1,7 +1,7 @@
 /*
  * DistanceMatrixParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/GeneralDataTypeParser.java b/src/dr/evoxml/GeneralDataTypeParser.java
index 4cb70f7..e299631 100644
--- a/src/dr/evoxml/GeneralDataTypeParser.java
+++ b/src/dr/evoxml/GeneralDataTypeParser.java
@@ -1,7 +1,7 @@
 /*
  * GeneralDataTypeParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/HiddenNucleotideParser.java b/src/dr/evoxml/HiddenNucleotideParser.java
index 4d0863b..3a40bc2 100644
--- a/src/dr/evoxml/HiddenNucleotideParser.java
+++ b/src/dr/evoxml/HiddenNucleotideParser.java
@@ -1,3 +1,28 @@
+/*
+ * HiddenNucleotideParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml;
 
 import dr.evolution.datatype.HiddenNucleotides;
diff --git a/src/dr/evoxml/HypermutantAlignmentParser.java b/src/dr/evoxml/HypermutantAlignmentParser.java
index 1e61159..ddf7d23 100644
--- a/src/dr/evoxml/HypermutantAlignmentParser.java
+++ b/src/dr/evoxml/HypermutantAlignmentParser.java
@@ -1,7 +1,7 @@
 /*
- * ConvertAlignmentParser.java
+ * HypermutantAlignmentParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/KStateDataTypeParser.java b/src/dr/evoxml/KStateDataTypeParser.java
index cb41b12..d3a864e 100644
--- a/src/dr/evoxml/KStateDataTypeParser.java
+++ b/src/dr/evoxml/KStateDataTypeParser.java
@@ -1,7 +1,7 @@
 /*
  * KStateDataTypeParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evoxml/LineageCountThroughTimeParser.java b/src/dr/evoxml/LineageCountThroughTimeParser.java
index b5d0cb9..2e6878f 100644
--- a/src/dr/evoxml/LineageCountThroughTimeParser.java
+++ b/src/dr/evoxml/LineageCountThroughTimeParser.java
@@ -1,7 +1,7 @@
 /*
  * LineageCountThroughTimeParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evoxml/LinkageConstraintsParser.java b/src/dr/evoxml/LinkageConstraintsParser.java
index 4d4e4ea..ffa1c59 100644
--- a/src/dr/evoxml/LinkageConstraintsParser.java
+++ b/src/dr/evoxml/LinkageConstraintsParser.java
@@ -1,3 +1,28 @@
+/*
+ * LinkageConstraintsParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml;
 
 import dr.evolution.LinkageConstraints;
diff --git a/src/dr/evoxml/LinkedGroupParser.java b/src/dr/evoxml/LinkedGroupParser.java
index a77dd20..5d775b0 100644
--- a/src/dr/evoxml/LinkedGroupParser.java
+++ b/src/dr/evoxml/LinkedGroupParser.java
@@ -1,3 +1,28 @@
+/*
+ * LinkedGroupParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml;
 
 import dr.evolution.LinkedGroup;
diff --git a/src/dr/evoxml/LocationParser.java b/src/dr/evoxml/LocationParser.java
index 492c57a..b25a3e5 100644
--- a/src/dr/evoxml/LocationParser.java
+++ b/src/dr/evoxml/LocationParser.java
@@ -1,7 +1,7 @@
 /*
- * DateParser.java
+ * LocationParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/MaskedPatternsParser.java b/src/dr/evoxml/MaskedPatternsParser.java
index f9e4823..78ea764 100644
--- a/src/dr/evoxml/MaskedPatternsParser.java
+++ b/src/dr/evoxml/MaskedPatternsParser.java
@@ -1,7 +1,7 @@
 /*
- * MergePatternsParser.java
+ * MaskedPatternsParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/MergePatternsParser.java b/src/dr/evoxml/MergePatternsParser.java
index 65f5567..514ba91 100644
--- a/src/dr/evoxml/MergePatternsParser.java
+++ b/src/dr/evoxml/MergePatternsParser.java
@@ -1,7 +1,7 @@
 /*
  * MergePatternsParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/MetagenomeDataParser.java b/src/dr/evoxml/MetagenomeDataParser.java
index dd7036f..1804ea9 100644
--- a/src/dr/evoxml/MetagenomeDataParser.java
+++ b/src/dr/evoxml/MetagenomeDataParser.java
@@ -1,3 +1,28 @@
+/*
+ * MetagenomeDataParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml;
 
 import dr.evolution.LinkageConstraints;
diff --git a/src/dr/evoxml/MicrosatelliteParser.java b/src/dr/evoxml/MicrosatelliteParser.java
index 6411a45..27e536e 100644
--- a/src/dr/evoxml/MicrosatelliteParser.java
+++ b/src/dr/evoxml/MicrosatelliteParser.java
@@ -1,3 +1,28 @@
+/*
+ * MicrosatelliteParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml;
 
 import dr.evolution.datatype.Microsatellite;
diff --git a/src/dr/evoxml/MicrosatellitePatternParser.java b/src/dr/evoxml/MicrosatellitePatternParser.java
index aa71ad6..bdf89a7 100644
--- a/src/dr/evoxml/MicrosatellitePatternParser.java
+++ b/src/dr/evoxml/MicrosatellitePatternParser.java
@@ -1,3 +1,28 @@
+/*
+ * MicrosatellitePatternParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml;
 
 import dr.xml.*;
diff --git a/src/dr/evoxml/MicrosatelliteSimulatorParser.java b/src/dr/evoxml/MicrosatelliteSimulatorParser.java
index 5d69929..197c5f6 100644
--- a/src/dr/evoxml/MicrosatelliteSimulatorParser.java
+++ b/src/dr/evoxml/MicrosatelliteSimulatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * MicrosatelliteSimulatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml;
 
 import dr.xml.*;
diff --git a/src/dr/evoxml/MsatPatternStatisticParser.java b/src/dr/evoxml/MsatPatternStatisticParser.java
index 84ded57..1a242d2 100644
--- a/src/dr/evoxml/MsatPatternStatisticParser.java
+++ b/src/dr/evoxml/MsatPatternStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * MsatPatternStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml;
 
 import dr.xml.*;
diff --git a/src/dr/evoxml/MultiLociDistanceParser.java b/src/dr/evoxml/MultiLociDistanceParser.java
index 40a2139..20ca601 100644
--- a/src/dr/evoxml/MultiLociDistanceParser.java
+++ b/src/dr/evoxml/MultiLociDistanceParser.java
@@ -1,3 +1,28 @@
+/*
+ * MultiLociDistanceParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml;
 
 import dr.xml.*;
diff --git a/src/dr/evoxml/MutationDeathTypeParser.java b/src/dr/evoxml/MutationDeathTypeParser.java
index d6444d6..609e88c 100644
--- a/src/dr/evoxml/MutationDeathTypeParser.java
+++ b/src/dr/evoxml/MutationDeathTypeParser.java
@@ -1,3 +1,28 @@
+/*
+ * MutationDeathTypeParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml;
 
 import dr.evolution.datatype.DataType;
diff --git a/src/dr/evoxml/NeighborJoiningParser.java b/src/dr/evoxml/NeighborJoiningParser.java
index 6450a0b..9e5e00d 100644
--- a/src/dr/evoxml/NeighborJoiningParser.java
+++ b/src/dr/evoxml/NeighborJoiningParser.java
@@ -1,7 +1,7 @@
 /*
  * NeighborJoiningParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/NewickParser.java b/src/dr/evoxml/NewickParser.java
index 742487f..14ed53f 100644
--- a/src/dr/evoxml/NewickParser.java
+++ b/src/dr/evoxml/NewickParser.java
@@ -1,7 +1,7 @@
 /*
  * NewickParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
@@ -29,7 +29,6 @@ import dr.evolution.io.Importer;
 import dr.evolution.io.NewickImporter;
 import dr.evolution.tree.*;
 import dr.evolution.util.Taxon;
-import dr.evolution.util.TimeScale;
 import dr.evolution.util.Units;
 import dr.evoxml.util.XMLUnits;
 import dr.xml.*;
@@ -49,7 +48,7 @@ public class NewickParser extends AbstractXMLObjectParser {
     public static final String RESCALE_LENGTH = "rescaleLength";
     public static final String USING_DATES = SimpleTreeParser.USING_DATES;
     public static final String USING_HEIGHTS = "usingHeights";
-    
+
     public NewickParser() {
         rules = new XMLSyntaxRule[]{
                 AttributeRule.newBooleanRule(USING_DATES, true),
@@ -71,25 +70,25 @@ public class NewickParser extends AbstractXMLObjectParser {
 
 //        boolean usingDates = xo.getAttribute(USING_DATES, true);
 
-		boolean usingDates = true;
-		if (xo.hasAttribute(USING_DATES)) {
-			usingDates = xo.getAttribute(USING_DATES, true);
-		}
-        
+        boolean usingDates = true;
+        if (xo.hasAttribute(USING_DATES)) {
+            usingDates = xo.getAttribute(USING_DATES, true);
+        }
+
         boolean usingHeights = false;
-        if(xo.hasAttribute(USING_HEIGHTS)) {
-        	 usingHeights = xo.getAttribute(USING_HEIGHTS, true);
+        if (xo.hasAttribute(USING_HEIGHTS)) {
+            usingHeights = xo.getAttribute(USING_HEIGHTS, true);
         }
-        
+
 //        System.out.println("UsingDates=" + usingDates + " usingHeights= " + usingHeights);
-        
-		if (usingDates && usingHeights) {
-			throw new XMLParseException("Unable to use both dates and node heights. Specify value of usingDates attribute.");
-		} 
+
+        if (usingDates && usingHeights) {
+            throw new XMLParseException("Unable to use both dates and node heights. Specify value of usingDates attribute.");
+        }
 //		else if (!usingDates && !usingHeights) {
 //			System.out.println("Tree is assumed to be ultrametric");
 //		}
-        
+
         StringBuffer buffer = new StringBuffer();
 
         for (int i = 0; i < xo.getChildCount(); i++) {
@@ -164,7 +163,7 @@ public class NewickParser extends AbstractXMLObjectParser {
                     height = Taxon.getHeightFromDate(date);
                 }
                 if (Math.abs(nodeHeight - height) > 1e-5) {
-                	
+
                     System.out.println("  Changing height of node " + tree.getTaxon(node.getNumber()) + " from " + nodeHeight + " to " + height);
                     tree.setNodeHeight(node, height);
                 }
@@ -178,32 +177,32 @@ public class NewickParser extends AbstractXMLObjectParser {
                     tree.setNodeHeight(tree.getInternalNode(i), height);
                 }
 
-			}// END: i loop
+            }// END: i loop
 
             MutableTree.Utils.correctHeightsForTips(tree);
-            
-        } else if(!usingDates && !usingHeights) {
-        	
-        	System.out.println("Tree is assumed to be ultrametric");
-        	
+
+        } else if (!usingDates && !usingHeights) {
+
+            System.out.println("Tree is assumed to be ultrametric");
+
             // not using dates or heights
             for (int i = 0; i < tree.getTaxonCount(); i++) {
                 final NodeRef leaf = tree.getExternalNode(i);
                 final double h = tree.getNodeHeight(leaf);
-                
+
                 if (h != 0.0) {
-                	double zero = 0.0;
-                	System.out.println("  Changing height of leaf node " + tree.getTaxon(leaf.getNumber()) + " from " + h + " to " + zero);
+                    double zero = 0.0;
+                    System.out.println("  Changing height of leaf node " + tree.getTaxon(leaf.getNumber()) + " from " + h + " to " + zero);
                     tree.setNodeHeight(leaf, zero);
                 }
 
-			}// END: i loop
-            
-		} else {
-			
-			System.out.println("Using node heights.");
-			
-		}// END: usingDates check
+            }// END: i loop
+
+        } else {
+
+            System.out.println("Using node heights.");
+
+        }// END: usingDates check
 
         if (xo.hasAttribute(RESCALE_HEIGHT)) {
             double rescaleHeight = xo.getDoubleAttribute(RESCALE_HEIGHT);
diff --git a/src/dr/evoxml/PatternSubSetParser.java b/src/dr/evoxml/PatternSubSetParser.java
index 84fa03b..912cfc3 100644
--- a/src/dr/evoxml/PatternSubSetParser.java
+++ b/src/dr/evoxml/PatternSubSetParser.java
@@ -1,7 +1,7 @@
 /*
- * PatternsParser.java
+ * PatternSubSetParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/PearsonCorrelationParser.java b/src/dr/evoxml/PearsonCorrelationParser.java
index 9bc71b6..2405c89 100644
--- a/src/dr/evoxml/PearsonCorrelationParser.java
+++ b/src/dr/evoxml/PearsonCorrelationParser.java
@@ -1,3 +1,28 @@
+/*
+ * PearsonCorrelationParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml;
 
 import dr.xml.*;
diff --git a/src/dr/evoxml/PolarCoordinatesParser.java b/src/dr/evoxml/PolarCoordinatesParser.java
index 03f8fa3..20a558d 100644
--- a/src/dr/evoxml/PolarCoordinatesParser.java
+++ b/src/dr/evoxml/PolarCoordinatesParser.java
@@ -1,7 +1,7 @@
 /*
  * PolarCoordinatesParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/RandomSubsetTaxaParser.java b/src/dr/evoxml/RandomSubsetTaxaParser.java
index 3fb7814..2fb07f5 100644
--- a/src/dr/evoxml/RandomSubsetTaxaParser.java
+++ b/src/dr/evoxml/RandomSubsetTaxaParser.java
@@ -1,3 +1,28 @@
+/*
+ * RandomSubsetTaxaParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml;
 
 import dr.evolution.util.Taxa;
diff --git a/src/dr/evoxml/RandomTaxaSampleParser.java b/src/dr/evoxml/RandomTaxaSampleParser.java
index 355418a..fa88139 100644
--- a/src/dr/evoxml/RandomTaxaSampleParser.java
+++ b/src/dr/evoxml/RandomTaxaSampleParser.java
@@ -1,3 +1,28 @@
+/*
+ * RandomTaxaSampleParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml;
 
 import dr.evolution.util.Taxa;
diff --git a/src/dr/evoxml/RescaledTreeParser.java b/src/dr/evoxml/RescaledTreeParser.java
index 0e94d2a..e001147 100644
--- a/src/dr/evoxml/RescaledTreeParser.java
+++ b/src/dr/evoxml/RescaledTreeParser.java
@@ -1,7 +1,7 @@
 /*
  * RescaledTreeParser.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/SequenceParser.java b/src/dr/evoxml/SequenceParser.java
index 9fd9e27..0607ef8 100644
--- a/src/dr/evoxml/SequenceParser.java
+++ b/src/dr/evoxml/SequenceParser.java
@@ -1,7 +1,7 @@
 /*
  * SequenceParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/SimpleNodeParser.java b/src/dr/evoxml/SimpleNodeParser.java
index e078997..ea2afc1 100644
--- a/src/dr/evoxml/SimpleNodeParser.java
+++ b/src/dr/evoxml/SimpleNodeParser.java
@@ -1,7 +1,7 @@
 /*
  * SimpleNodeParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/SimpleTreeParser.java b/src/dr/evoxml/SimpleTreeParser.java
index 182252f..88cbfb9 100644
--- a/src/dr/evoxml/SimpleTreeParser.java
+++ b/src/dr/evoxml/SimpleTreeParser.java
@@ -1,7 +1,7 @@
 /*
  * SimpleTreeParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evoxml/SitePatternsParser.java b/src/dr/evoxml/SitePatternsParser.java
index b9121e1..a91048e 100644
--- a/src/dr/evoxml/SitePatternsParser.java
+++ b/src/dr/evoxml/SitePatternsParser.java
@@ -1,7 +1,7 @@
 /*
  * SitePatternsParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/TaxaParser.java b/src/dr/evoxml/TaxaParser.java
index 27b78f3..ff805c7 100644
--- a/src/dr/evoxml/TaxaParser.java
+++ b/src/dr/evoxml/TaxaParser.java
@@ -1,7 +1,7 @@
 /*
  * TaxaParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/TaxonParser.java b/src/dr/evoxml/TaxonParser.java
index c8ddee5..e09537d 100644
--- a/src/dr/evoxml/TaxonParser.java
+++ b/src/dr/evoxml/TaxonParser.java
@@ -1,7 +1,7 @@
 /*
  * TaxonParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evoxml/UPGMATreeParser.java b/src/dr/evoxml/UPGMATreeParser.java
index 57e183d..ece45d0 100644
--- a/src/dr/evoxml/UPGMATreeParser.java
+++ b/src/dr/evoxml/UPGMATreeParser.java
@@ -1,7 +1,7 @@
 /*
  * UPGMATreeParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/evoxml/util/DataTypeUtils.java b/src/dr/evoxml/util/DataTypeUtils.java
index e2190b3..28effba 100644
--- a/src/dr/evoxml/util/DataTypeUtils.java
+++ b/src/dr/evoxml/util/DataTypeUtils.java
@@ -1,3 +1,28 @@
+/*
+ * DataTypeUtils.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml.util;
 
 import dr.evolution.datatype.DataType;
diff --git a/src/dr/evoxml/util/DateUnitsType.java b/src/dr/evoxml/util/DateUnitsType.java
index c491b62..e004895 100644
--- a/src/dr/evoxml/util/DateUnitsType.java
+++ b/src/dr/evoxml/util/DateUnitsType.java
@@ -1,5 +1,7 @@
 /*
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * DateUnitsType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -10,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/evoxml/util/GraphMLUtils.java b/src/dr/evoxml/util/GraphMLUtils.java
index 0816742..d7c52bc 100644
--- a/src/dr/evoxml/util/GraphMLUtils.java
+++ b/src/dr/evoxml/util/GraphMLUtils.java
@@ -1,3 +1,28 @@
+/*
+ * GraphMLUtils.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.evoxml.util;
 
 import dr.evomodel.arg.ARGModel;
diff --git a/src/dr/evoxml/util/XMLUnits.java b/src/dr/evoxml/util/XMLUnits.java
index 5a8db17..a48ac87 100644
--- a/src/dr/evoxml/util/XMLUnits.java
+++ b/src/dr/evoxml/util/XMLUnits.java
@@ -1,7 +1,7 @@
 /*
  * XMLUnits.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/BrownianBridge1D.java b/src/dr/geo/BrownianBridge1D.java
index 2ae7c8a..7210b25 100644
--- a/src/dr/geo/BrownianBridge1D.java
+++ b/src/dr/geo/BrownianBridge1D.java
@@ -1,3 +1,28 @@
+/*
+ * BrownianBridge1D.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 import dr.math.MathUtils;
diff --git a/src/dr/geo/GTOPO30Browser.java b/src/dr/geo/GTOPO30Browser.java
index a84fe6f..f97a3d0 100644
--- a/src/dr/geo/GTOPO30Browser.java
+++ b/src/dr/geo/GTOPO30Browser.java
@@ -1,7 +1,7 @@
 /*
  * GTOPO30Browser.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/GTOPO30Panel.java b/src/dr/geo/GTOPO30Panel.java
index c8bdc7e..70b3e19 100644
--- a/src/dr/geo/GTOPO30Panel.java
+++ b/src/dr/geo/GTOPO30Panel.java
@@ -1,7 +1,7 @@
 /*
  * GTOPO30Panel.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/GTOPO30RandomWalk.java b/src/dr/geo/GTOPO30RandomWalk.java
index e12a929..98596f2 100644
--- a/src/dr/geo/GTOPO30RandomWalk.java
+++ b/src/dr/geo/GTOPO30RandomWalk.java
@@ -1,3 +1,28 @@
+/*
+ * GTOPO30RandomWalk.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 import dr.app.gui.ColorFunction;
diff --git a/src/dr/geo/GTOPO30Tile.java b/src/dr/geo/GTOPO30Tile.java
index a1a3fcc..1a79134 100644
--- a/src/dr/geo/GTOPO30Tile.java
+++ b/src/dr/geo/GTOPO30Tile.java
@@ -1,3 +1,28 @@
+/*
+ * GTOPO30Tile.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 import dr.app.gui.ColorFunction;
diff --git a/src/dr/geo/GeoSpatialCollectionModel.java b/src/dr/geo/GeoSpatialCollectionModel.java
index 72c05a5..6a59bf0 100644
--- a/src/dr/geo/GeoSpatialCollectionModel.java
+++ b/src/dr/geo/GeoSpatialCollectionModel.java
@@ -1,7 +1,7 @@
 /*
  * GeoSpatialCollectionModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/GeoSpatialDistribution.java b/src/dr/geo/GeoSpatialDistribution.java
index df85663..46fad2d 100644
--- a/src/dr/geo/GeoSpatialDistribution.java
+++ b/src/dr/geo/GeoSpatialDistribution.java
@@ -1,7 +1,7 @@
 /*
  * GeoSpatialDistribution.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/geo/GreatCircleDistances.java b/src/dr/geo/GreatCircleDistances.java
index f796df8..f902629 100644
--- a/src/dr/geo/GreatCircleDistances.java
+++ b/src/dr/geo/GreatCircleDistances.java
@@ -1,3 +1,28 @@
+/*
+ * GreatCircleDistances.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 import dr.evolution.util.Taxa;
diff --git a/src/dr/geo/InhomogeneousRandomWalk.java b/src/dr/geo/InhomogeneousRandomWalk.java
index 388d37e..171d69b 100644
--- a/src/dr/geo/InhomogeneousRandomWalk.java
+++ b/src/dr/geo/InhomogeneousRandomWalk.java
@@ -1,3 +1,28 @@
+/*
+ * InhomogeneousRandomWalk.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 import dr.app.gui.ColorFunction;
diff --git a/src/dr/geo/IslandLattice.java b/src/dr/geo/IslandLattice.java
index 8f188b3..89d5c2d 100644
--- a/src/dr/geo/IslandLattice.java
+++ b/src/dr/geo/IslandLattice.java
@@ -1,3 +1,28 @@
+/*
+ * IslandLattice.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 import javax.swing.*;
diff --git a/src/dr/geo/KMLCoordinates.java b/src/dr/geo/KMLCoordinates.java
index 1b30927..8775e72 100644
--- a/src/dr/geo/KMLCoordinates.java
+++ b/src/dr/geo/KMLCoordinates.java
@@ -1,3 +1,28 @@
+/*
+ * KMLCoordinates.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 import dr.xml.*;
diff --git a/src/dr/geo/KMLRenderer.java b/src/dr/geo/KMLRenderer.java
index af901c9..4b4278f 100644
--- a/src/dr/geo/KMLRenderer.java
+++ b/src/dr/geo/KMLRenderer.java
@@ -1,3 +1,28 @@
+/*
+ * KMLRenderer.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 import java.awt.*;
diff --git a/src/dr/geo/KMLViewer.java b/src/dr/geo/KMLViewer.java
index 7719c99..78217ec 100644
--- a/src/dr/geo/KMLViewer.java
+++ b/src/dr/geo/KMLViewer.java
@@ -1,7 +1,7 @@
 /*
- * VisualizeKMLBrownianBridge.java
+ * KMLViewer.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/KernelDensityEstimator2D.java b/src/dr/geo/KernelDensityEstimator2D.java
index 192c905..a34439d 100644
--- a/src/dr/geo/KernelDensityEstimator2D.java
+++ b/src/dr/geo/KernelDensityEstimator2D.java
@@ -1,3 +1,28 @@
+/*
+ * KernelDensityEstimator2D.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 import cern.colt.list.DoubleArrayList;
diff --git a/src/dr/geo/Lattice.java b/src/dr/geo/Lattice.java
index c869bf9..905ed25 100644
--- a/src/dr/geo/Lattice.java
+++ b/src/dr/geo/Lattice.java
@@ -1,3 +1,28 @@
+/*
+ * Lattice.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 import java.awt.*;
diff --git a/src/dr/geo/Location.java b/src/dr/geo/Location.java
index 8c39c33..8af3341 100644
--- a/src/dr/geo/Location.java
+++ b/src/dr/geo/Location.java
@@ -1,3 +1,28 @@
+/*
+ * Location.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 /**
diff --git a/src/dr/geo/MultiRegionGeoSpatialDistribution.java b/src/dr/geo/MultiRegionGeoSpatialDistribution.java
index 89ecfde..6a5b4a2 100644
--- a/src/dr/geo/MultiRegionGeoSpatialDistribution.java
+++ b/src/dr/geo/MultiRegionGeoSpatialDistribution.java
@@ -1,7 +1,7 @@
 /*
  * MultiRegionGeoSpatialDistribution.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/geo/MultivariateBrownianBridge.java b/src/dr/geo/MultivariateBrownianBridge.java
index 6404780..097704e 100644
--- a/src/dr/geo/MultivariateBrownianBridge.java
+++ b/src/dr/geo/MultivariateBrownianBridge.java
@@ -1,7 +1,7 @@
 /*
  * MultivariateBrownianBridge.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/NewPolygon2D.java b/src/dr/geo/NewPolygon2D.java
index 434c673..7f05e29 100644
--- a/src/dr/geo/NewPolygon2D.java
+++ b/src/dr/geo/NewPolygon2D.java
@@ -1,7 +1,7 @@
 /*
  * NewPolygon2D.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/NumericalSpaceTimeProbs2D.java b/src/dr/geo/NumericalSpaceTimeProbs2D.java
index ee3f5e9..d42ed23 100644
--- a/src/dr/geo/NumericalSpaceTimeProbs2D.java
+++ b/src/dr/geo/NumericalSpaceTimeProbs2D.java
@@ -1,7 +1,7 @@
 /*
  * NumericalSpaceTimeProbs2D.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/Polygon.java b/src/dr/geo/Polygon.java
index df1801e..8609be6 100644
--- a/src/dr/geo/Polygon.java
+++ b/src/dr/geo/Polygon.java
@@ -1,3 +1,28 @@
+/*
+ * Polygon.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 import org.jdom.Element;
diff --git a/src/dr/geo/Polygon2D.java b/src/dr/geo/Polygon2D.java
index 99c8383..e2281da 100644
--- a/src/dr/geo/Polygon2D.java
+++ b/src/dr/geo/Polygon2D.java
@@ -1,3 +1,28 @@
+/*
+ * Polygon2D.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 import dr.geo.cartogram.CartogramMapping;
diff --git a/src/dr/geo/RateMatrix.java b/src/dr/geo/RateMatrix.java
index 1e8eaac..b27dd36 100644
--- a/src/dr/geo/RateMatrix.java
+++ b/src/dr/geo/RateMatrix.java
@@ -1,3 +1,28 @@
+/*
+ * RateMatrix.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 /**
diff --git a/src/dr/geo/Reject.java b/src/dr/geo/Reject.java
index 60bf436..d7f3fe7 100644
--- a/src/dr/geo/Reject.java
+++ b/src/dr/geo/Reject.java
@@ -1,3 +1,28 @@
+/*
+ * Reject.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 /**
diff --git a/src/dr/geo/SpaceTime.java b/src/dr/geo/SpaceTime.java
index 68b0101..19bde31 100644
--- a/src/dr/geo/SpaceTime.java
+++ b/src/dr/geo/SpaceTime.java
@@ -1,7 +1,7 @@
 /*
  * SpaceTime.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/SpaceTimeRejector.java b/src/dr/geo/SpaceTimeRejector.java
index 8162fc5..c0dc226 100644
--- a/src/dr/geo/SpaceTimeRejector.java
+++ b/src/dr/geo/SpaceTimeRejector.java
@@ -1,7 +1,7 @@
 /*
  * SpaceTimeRejector.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/SpaceTimeRejector1D.java b/src/dr/geo/SpaceTimeRejector1D.java
index d1f1cc1..dd3b48c 100644
--- a/src/dr/geo/SpaceTimeRejector1D.java
+++ b/src/dr/geo/SpaceTimeRejector1D.java
@@ -1,3 +1,28 @@
+/*
+ * SpaceTimeRejector1D.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 /**
diff --git a/src/dr/geo/SpaceTimeSimulator.java b/src/dr/geo/SpaceTimeSimulator.java
index a83f7fd..0ab2e86 100644
--- a/src/dr/geo/SpaceTimeSimulator.java
+++ b/src/dr/geo/SpaceTimeSimulator.java
@@ -1,7 +1,7 @@
 /*
  * SpaceTimeSimulator.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/ViewTransform.java b/src/dr/geo/ViewTransform.java
index 62518c3..9e9f55f 100644
--- a/src/dr/geo/ViewTransform.java
+++ b/src/dr/geo/ViewTransform.java
@@ -1,3 +1,28 @@
+/*
+ * ViewTransform.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo;
 
 import java.awt.geom.AffineTransform;
diff --git a/src/dr/geo/VisualizeBrownianBridge2D.java b/src/dr/geo/VisualizeBrownianBridge2D.java
index c3376ac..3236ef4 100644
--- a/src/dr/geo/VisualizeBrownianBridge2D.java
+++ b/src/dr/geo/VisualizeBrownianBridge2D.java
@@ -1,7 +1,7 @@
 /*
  * VisualizeBrownianBridge2D.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/VisualizeKMLBrownianBridge.java b/src/dr/geo/VisualizeKMLBrownianBridge.java
index d12917d..512c951 100644
--- a/src/dr/geo/VisualizeKMLBrownianBridge.java
+++ b/src/dr/geo/VisualizeKMLBrownianBridge.java
@@ -1,7 +1,7 @@
 /*
  * VisualizeKMLBrownianBridge.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/VisualizeKMLJointProb.java b/src/dr/geo/VisualizeKMLJointProb.java
index 51385c8..4108765 100644
--- a/src/dr/geo/VisualizeKMLJointProb.java
+++ b/src/dr/geo/VisualizeKMLJointProb.java
@@ -1,7 +1,7 @@
 /*
  * VisualizeKMLJointProb.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/VisualizeKMLNumericalProbs.java b/src/dr/geo/VisualizeKMLNumericalProbs.java
index a092d55..756e215 100644
--- a/src/dr/geo/VisualizeKMLNumericalProbs.java
+++ b/src/dr/geo/VisualizeKMLNumericalProbs.java
@@ -1,7 +1,7 @@
 /*
  * VisualizeKMLNumericalProbs.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/VisualizeSpaceTimeSim2D.java b/src/dr/geo/VisualizeSpaceTimeSim2D.java
index ca85fac..298e9b3 100644
--- a/src/dr/geo/VisualizeSpaceTimeSim2D.java
+++ b/src/dr/geo/VisualizeSpaceTimeSim2D.java
@@ -1,7 +1,7 @@
 /*
  * VisualizeSpaceTimeSim2D.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/cartogram/CartogramMapping.java b/src/dr/geo/cartogram/CartogramMapping.java
index f80ed5d..2898506 100644
--- a/src/dr/geo/cartogram/CartogramMapping.java
+++ b/src/dr/geo/cartogram/CartogramMapping.java
@@ -1,7 +1,7 @@
 /*
  * CartogramMapping.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/geo/color/ChannelColorScheme.java b/src/dr/geo/color/ChannelColorScheme.java
index 15be751..0b870c5 100644
--- a/src/dr/geo/color/ChannelColorScheme.java
+++ b/src/dr/geo/color/ChannelColorScheme.java
@@ -1,7 +1,7 @@
 /*
  * ChannelColorScheme.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/geo/color/ColorScheme.java b/src/dr/geo/color/ColorScheme.java
index 2a561b3..d9aa45c 100644
--- a/src/dr/geo/color/ColorScheme.java
+++ b/src/dr/geo/color/ColorScheme.java
@@ -1,7 +1,7 @@
 /*
  * ColorScheme.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/geo/contouring/ContourAttrib.java b/src/dr/geo/contouring/ContourAttrib.java
index bfc4b04..01a8bea 100644
--- a/src/dr/geo/contouring/ContourAttrib.java
+++ b/src/dr/geo/contouring/ContourAttrib.java
@@ -1,3 +1,28 @@
+/*
+ * ContourAttrib.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo.contouring;
 
 
diff --git a/src/dr/geo/contouring/ContourGenerator.java b/src/dr/geo/contouring/ContourGenerator.java
index bf059c8..bbe2015 100644
--- a/src/dr/geo/contouring/ContourGenerator.java
+++ b/src/dr/geo/contouring/ContourGenerator.java
@@ -1,3 +1,28 @@
+/*
+ * ContourGenerator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo.contouring;
 
 import dr.geo.contouring.ContourAttrib;
diff --git a/src/dr/geo/contouring/ContourMaker.java b/src/dr/geo/contouring/ContourMaker.java
index 08795e9..674e3be 100644
--- a/src/dr/geo/contouring/ContourMaker.java
+++ b/src/dr/geo/contouring/ContourMaker.java
@@ -1,3 +1,28 @@
+/*
+ * ContourMaker.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo.contouring;
 
 /**
diff --git a/src/dr/geo/contouring/ContourMode.java b/src/dr/geo/contouring/ContourMode.java
index a34a8d2..2ad5797 100644
--- a/src/dr/geo/contouring/ContourMode.java
+++ b/src/dr/geo/contouring/ContourMode.java
@@ -1,3 +1,28 @@
+/*
+ * ContourMode.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo.contouring;
 
 /**
diff --git a/src/dr/geo/contouring/ContourPath.java b/src/dr/geo/contouring/ContourPath.java
index 17e9d57..bafa0fa 100644
--- a/src/dr/geo/contouring/ContourPath.java
+++ b/src/dr/geo/contouring/ContourPath.java
@@ -1,3 +1,28 @@
+/*
+ * ContourPath.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo.contouring;
 
 import dr.geo.contouring.ContourAttrib;
diff --git a/src/dr/geo/contouring/ContourWithR.java b/src/dr/geo/contouring/ContourWithR.java
index 88a6424..0d5abae 100644
--- a/src/dr/geo/contouring/ContourWithR.java
+++ b/src/dr/geo/contouring/ContourWithR.java
@@ -1,3 +1,28 @@
+/*
+ * ContourWithR.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo.contouring;
 
 import org.rosuda.JRI.REXP;
diff --git a/src/dr/geo/contouring/ContourWithSynder.java b/src/dr/geo/contouring/ContourWithSynder.java
index 9d99da8..fc77afa 100644
--- a/src/dr/geo/contouring/ContourWithSynder.java
+++ b/src/dr/geo/contouring/ContourWithSynder.java
@@ -1,3 +1,28 @@
+/*
+ * ContourWithSynder.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo.contouring;
 
 import dr.geo.KernelDensityEstimator2D;
diff --git a/src/dr/geo/contouring/SnyderContour.java b/src/dr/geo/contouring/SnyderContour.java
index 635b619..b7f29cc 100644
--- a/src/dr/geo/contouring/SnyderContour.java
+++ b/src/dr/geo/contouring/SnyderContour.java
@@ -1,3 +1,28 @@
+/*
+ * SnyderContour.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo.contouring;
 
 import java.awt.*;
diff --git a/src/dr/geo/distributions/FisherBinghamKentDistribution.java b/src/dr/geo/distributions/FisherBinghamKentDistribution.java
index d8abfdd..91fdc7b 100644
--- a/src/dr/geo/distributions/FisherBinghamKentDistribution.java
+++ b/src/dr/geo/distributions/FisherBinghamKentDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * FisherBinghamKentDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo.distributions;
 
 import dr.geo.math.Space;
diff --git a/src/dr/geo/distributions/HyperSphereDistribution.java b/src/dr/geo/distributions/HyperSphereDistribution.java
index c682c60..0f6ee2c 100644
--- a/src/dr/geo/distributions/HyperSphereDistribution.java
+++ b/src/dr/geo/distributions/HyperSphereDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * HyperSphereDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo.distributions;
 
 import dr.math.distributions.MultivariateDistribution;
diff --git a/src/dr/geo/distributions/VonMisesDistribution.java b/src/dr/geo/distributions/VonMisesDistribution.java
index 461f31a..d333341 100644
--- a/src/dr/geo/distributions/VonMisesDistribution.java
+++ b/src/dr/geo/distributions/VonMisesDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * VonMisesDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo.distributions;
 
 import cern.jet.math.Bessel;
diff --git a/src/dr/geo/distributions/VonMisesFisherDistribution.java b/src/dr/geo/distributions/VonMisesFisherDistribution.java
index 68ad7d7..c790afd 100644
--- a/src/dr/geo/distributions/VonMisesFisherDistribution.java
+++ b/src/dr/geo/distributions/VonMisesFisherDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * VonMisesFisherDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo.distributions;
 
 import dr.geo.math.Space;
diff --git a/src/dr/geo/math/Space.java b/src/dr/geo/math/Space.java
index c764f7c..8e5f1d8 100644
--- a/src/dr/geo/math/Space.java
+++ b/src/dr/geo/math/Space.java
@@ -1,3 +1,28 @@
+/*
+ * Space.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.geo.math;
 
 /**
diff --git a/src/dr/geo/math/SphericalPolarCoordinates.java b/src/dr/geo/math/SphericalPolarCoordinates.java
index dbc510f..b5b0c28 100644
--- a/src/dr/geo/math/SphericalPolarCoordinates.java
+++ b/src/dr/geo/math/SphericalPolarCoordinates.java
@@ -1,7 +1,7 @@
 /*
  * SphericalPolarCoordinates.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/geo/math/Vector3D.java b/src/dr/geo/math/Vector3D.java
index 618e9ee..b1afa95 100644
--- a/src/dr/geo/math/Vector3D.java
+++ b/src/dr/geo/math/Vector3D.java
@@ -1,7 +1,7 @@
 /*
  * Vector3D.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/geo/operators/UniformGeoSpatialOperator.java b/src/dr/geo/operators/UniformGeoSpatialOperator.java
index 6f82d74..9fc12b8 100644
--- a/src/dr/geo/operators/UniformGeoSpatialOperator.java
+++ b/src/dr/geo/operators/UniformGeoSpatialOperator.java
@@ -1,7 +1,7 @@
 /*
  * UniformGeoSpatialOperator.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/geo/operators/UniformGeoSpatialOperatorParser.java b/src/dr/geo/operators/UniformGeoSpatialOperatorParser.java
index 75106bb..3921f91 100644
--- a/src/dr/geo/operators/UniformGeoSpatialOperatorParser.java
+++ b/src/dr/geo/operators/UniformGeoSpatialOperatorParser.java
@@ -1,7 +1,7 @@
 /*
  * UniformGeoSpatialOperatorParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/geo/testGreatCircleDistances.xml b/src/dr/geo/testGreatCircleDistances.xml
index a190a86..f96085f 100644
--- a/src/dr/geo/testGreatCircleDistances.xml
+++ b/src/dr/geo/testGreatCircleDistances.xml
@@ -1,3 +1,28 @@
+<!--
+  ~ testGreatCircleDistances.xml
+  ~
+  ~ Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+  ~
+  ~ This file is part of BEAST.
+  ~ See the NOTICE file distributed with this work for additional
+  ~ information regarding copyright ownership and licensing.
+  ~
+  ~ BEAST 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; either version 2
+  ~ of the License, or (at your option) any later version.
+  ~
+  ~  BEAST is distributed in the hope that it will be useful,
+  ~  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  ~  GNU Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with BEAST; if not, write to the
+  ~ Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+  ~ Boston, MA  02110-1301  USA
+  -->
+
 <beast>
     <taxa id="taxa">
 
diff --git a/src/dr/geo/testLocations.xml b/src/dr/geo/testLocations.xml
index 1ed5a74..0af9344 100644
--- a/src/dr/geo/testLocations.xml
+++ b/src/dr/geo/testLocations.xml
@@ -1,3 +1,28 @@
+<!--
+  ~ testLocations.xml
+  ~
+  ~ Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+  ~
+  ~ This file is part of BEAST.
+  ~ See the NOTICE file distributed with this work for additional
+  ~ information regarding copyright ownership and licensing.
+  ~
+  ~ BEAST 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; either version 2
+  ~ of the License, or (at your option) any later version.
+  ~
+  ~  BEAST is distributed in the hope that it will be useful,
+  ~  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  ~  GNU Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with BEAST; if not, write to the
+  ~ Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+  ~ Boston, MA  02110-1301  USA
+  -->
+
 <beast>
     <taxa id="taxa">
 
diff --git a/src/dr/inference/distribution/AbstractDistributionLikelihood.java b/src/dr/inference/distribution/AbstractDistributionLikelihood.java
index 2464e69..aaf9ebc 100644
--- a/src/dr/inference/distribution/AbstractDistributionLikelihood.java
+++ b/src/dr/inference/distribution/AbstractDistributionLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * AbstractDistributionLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/distribution/BetaDistributionModel.java b/src/dr/inference/distribution/BetaDistributionModel.java
index 9f9fe35..711728b 100644
--- a/src/dr/inference/distribution/BetaDistributionModel.java
+++ b/src/dr/inference/distribution/BetaDistributionModel.java
@@ -1,7 +1,7 @@
 /*
  * BetaDistributionModel.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/distribution/BinomialLikelihood.java b/src/dr/inference/distribution/BinomialLikelihood.java
index 7283c2f..c7ea16e 100644
--- a/src/dr/inference/distribution/BinomialLikelihood.java
+++ b/src/dr/inference/distribution/BinomialLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * BinomialLikelihood.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -30,6 +30,8 @@ import dr.inference.model.Model;
 import dr.inference.model.Parameter;
 import dr.inference.model.Variable;
 import dr.math.Binomial;
+import dr.math.Polynomial;
+import dr.math.matrixAlgebra.Vector;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
@@ -45,7 +47,8 @@ public class BinomialLikelihood extends AbstractModelLikelihood {
 
     public static final String BINOMIAL_LIKELIHOOD = "binomialLikelihood";
 
-    public BinomialLikelihood(Parameter trialsParameter, Parameter proportionParameter, Parameter countsParameter) {
+    public BinomialLikelihood(Parameter trialsParameter, Parameter proportionParameter, Parameter countsParameter,
+                              boolean onLogitScale) {
 
         super(BINOMIAL_LIKELIHOOD);
 
@@ -56,6 +59,8 @@ public class BinomialLikelihood extends AbstractModelLikelihood {
         addVariable(proportionParameter);
         addVariable(countsParameter);
 
+        this.onLogitScale = onLogitScale;
+
     }
 
     // **************************************************************
@@ -74,23 +79,50 @@ public class BinomialLikelihood extends AbstractModelLikelihood {
      */
     public double getLogLikelihood() {
 
-        double p = proportionParameter.getParameterValue(0);
-        if (p <= 0 || p >= 1) return Double.NEGATIVE_INFINITY;
+        // Get first success probability statistics
+        SufficientStatistics ss = new SufficientStatistics(proportionParameter.getParameterValue(0), onLogitScale);
+        if (ss.outOfBounds) return Double.NEGATIVE_INFINITY;
 
-        double logP = Math.log(p);
-        double log1MinusP = Math.log(1.0 - p);
+        final boolean hasMultipleProportions = proportionParameter.getDimension() > 1;
 
         double logL = 0.0;
         for (int i = 0; i < trialsParameter.getDimension(); i++) {
+
+            if (hasMultipleProportions && i > 0) {
+                ss = new SufficientStatistics(proportionParameter.getParameterValue(i), onLogitScale);
+                if (ss.outOfBounds) return Double.NEGATIVE_INFINITY;
+            }
+
             int trials = (int) Math.round(trialsParameter.getParameterValue(i));
             int counts = (int) Math.round(countsParameter.getParameterValue(i));
 
             if (counts > trials) return Double.NEGATIVE_INFINITY;
-            logL += binomialLogLikelihood(trials, counts, logP, log1MinusP);
+            logL += binomialLogLikelihood(trials, counts, ss.logP, ss.log1MinusP);
         }
         return logL;
     }
 
+    class SufficientStatistics {
+
+        double logP;
+        double log1MinusP;
+        boolean outOfBounds;
+
+        SufficientStatistics(double theta, boolean onLogitScale) {
+            if (onLogitScale) {
+                // e(x) / (1 + e(x)) and 1  / (1 + e(x))
+                final double logDenominator = Math.log(1.0 + Math.exp(theta));
+                logP = theta - logDenominator;
+                log1MinusP = -logDenominator;
+                outOfBounds = false;
+            } else {
+                logP = Math.log(theta);
+                log1MinusP = Math.log(1.0 - theta);
+                outOfBounds = (theta <= 0 || theta >= 1);
+            }
+        }
+    }
+
     public void makeDirty() {
     }
 
@@ -133,5 +165,7 @@ public class BinomialLikelihood extends AbstractModelLikelihood {
     Parameter trialsParameter;
     Parameter proportionParameter;
     Parameter countsParameter;
+
+    private final boolean onLogitScale;
 }
 
diff --git a/src/dr/inference/distribution/CachedDistributionLikelihood.java b/src/dr/inference/distribution/CachedDistributionLikelihood.java
index 288f754..aa334cb 100644
--- a/src/dr/inference/distribution/CachedDistributionLikelihood.java
+++ b/src/dr/inference/distribution/CachedDistributionLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * CachedDistributionLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.distribution;
 
 import dr.inference.model.AbstractModelLikelihood;
diff --git a/src/dr/inference/distribution/ConditionalCladeProbability.java b/src/dr/inference/distribution/ConditionalCladeProbability.java
index 2be38fb..b4f924d 100644
--- a/src/dr/inference/distribution/ConditionalCladeProbability.java
+++ b/src/dr/inference/distribution/ConditionalCladeProbability.java
@@ -1,3 +1,28 @@
+/*
+ * ConditionalCladeProbability.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.distribution;
 
 import dr.evolution.tree.SimpleTree;
diff --git a/src/dr/inference/distribution/DirichletProcessLikelihood.java b/src/dr/inference/distribution/DirichletProcessLikelihood.java
index f1a1127..bc91ba9 100644
--- a/src/dr/inference/distribution/DirichletProcessLikelihood.java
+++ b/src/dr/inference/distribution/DirichletProcessLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * DirichletProcessLikelihood.java
  *
- * Copyright (C) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/distribution/DistributionLikelihood.java b/src/dr/inference/distribution/DistributionLikelihood.java
index 89dc088..51df5bc 100644
--- a/src/dr/inference/distribution/DistributionLikelihood.java
+++ b/src/dr/inference/distribution/DistributionLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * DistributionLikelihood.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
@@ -40,6 +40,8 @@ import org.w3c.dom.Element;
 
 public class DistributionLikelihood extends AbstractDistributionLikelihood {
 
+    public final static boolean DEBUG = false;
+
     public static final String DISTRIBUTION_LIKELIHOOD = "distributionLikelihood";
 
     private int from = -1;
@@ -98,6 +100,12 @@ public class DistributionLikelihood extends AbstractDistributionLikelihood {
      */
     public double calculateLogLikelihood() {
 
+        if (DEBUG) {
+            System.out.println("Calling DistributionLikelihood.calculateLogLikelihood()");
+            System.out.println(distribution.toString());
+            System.out.println(dataList.toString() + "\n");
+        }
+
         double logL = 0.0;
 
         for( Attribute<double[]> data : dataList ) {
diff --git a/src/dr/inference/distribution/EmpiricalDistributionLikelihood.java b/src/dr/inference/distribution/EmpiricalDistributionLikelihood.java
index 1fd98f8..0d24af7 100644
--- a/src/dr/inference/distribution/EmpiricalDistributionLikelihood.java
+++ b/src/dr/inference/distribution/EmpiricalDistributionLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * EmpiricalDistributionLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/distribution/ExponentialDistributionModel.java b/src/dr/inference/distribution/ExponentialDistributionModel.java
index 511047f..b9ed230 100644
--- a/src/dr/inference/distribution/ExponentialDistributionModel.java
+++ b/src/dr/inference/distribution/ExponentialDistributionModel.java
@@ -1,7 +1,7 @@
 /*
  * ExponentialDistributionModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/distribution/ExponentialMarkovModel.java b/src/dr/inference/distribution/ExponentialMarkovModel.java
index 5d17214..f1dc2ef 100644
--- a/src/dr/inference/distribution/ExponentialMarkovModel.java
+++ b/src/dr/inference/distribution/ExponentialMarkovModel.java
@@ -1,7 +1,7 @@
 /*
  * ExponentialMarkovModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/distribution/GammaDistributionModel.java b/src/dr/inference/distribution/GammaDistributionModel.java
index f9b70ca..b3b6876 100644
--- a/src/dr/inference/distribution/GammaDistributionModel.java
+++ b/src/dr/inference/distribution/GammaDistributionModel.java
@@ -1,7 +1,7 @@
 /*
  * GammaDistributionModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/distribution/GeneralizedLinearModel.java b/src/dr/inference/distribution/GeneralizedLinearModel.java
index 568685e..dd4a6e7 100644
--- a/src/dr/inference/distribution/GeneralizedLinearModel.java
+++ b/src/dr/inference/distribution/GeneralizedLinearModel.java
@@ -1,7 +1,7 @@
 /*
  * GeneralizedLinearModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/distribution/HierarchicalGraphLikelihood.java b/src/dr/inference/distribution/HierarchicalGraphLikelihood.java
index 4508f38..98ca4e8 100644
--- a/src/dr/inference/distribution/HierarchicalGraphLikelihood.java
+++ b/src/dr/inference/distribution/HierarchicalGraphLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * HierarchicalGraphLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.distribution;
 
 import dr.inference.model.AbstractModelLikelihood;
diff --git a/src/dr/inference/distribution/InverseGammaDistributionModel.java b/src/dr/inference/distribution/InverseGammaDistributionModel.java
index 94de286..b28a2cb 100644
--- a/src/dr/inference/distribution/InverseGammaDistributionModel.java
+++ b/src/dr/inference/distribution/InverseGammaDistributionModel.java
@@ -1,7 +1,7 @@
 /*
- * GammaDistributionModel.java
+ * InverseGammaDistributionModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/distribution/InverseGaussianDistributionModel.java b/src/dr/inference/distribution/InverseGaussianDistributionModel.java
index 4bcb21f..e87158d 100644
--- a/src/dr/inference/distribution/InverseGaussianDistributionModel.java
+++ b/src/dr/inference/distribution/InverseGaussianDistributionModel.java
@@ -1,19 +1,7 @@
-package dr.inference.distribution;
-
-import dr.inference.model.AbstractModel;
-import dr.inference.model.Model;
-import dr.inference.model.Parameter;
-import dr.inference.model.Variable;
-import dr.inferencexml.distribution.InverseGaussianDistributionModelParser;
-import dr.math.UnivariateFunction;
-import dr.math.distributions.InverseGaussianDistribution;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
 /*
  * InverseGaussianDistributionModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -35,6 +23,17 @@ import org.w3c.dom.Element;
  * Boston, MA  02110-1301  USA
  */
 
+package dr.inference.distribution;
+
+import dr.inference.model.AbstractModel;
+import dr.inference.model.Model;
+import dr.inference.model.Parameter;
+import dr.inference.model.Variable;
+import dr.inferencexml.distribution.InverseGaussianDistributionModelParser;
+import dr.math.UnivariateFunction;
+import dr.math.distributions.InverseGaussianDistribution;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
 
 /**
  * @author Wai Lok Sibon Li
diff --git a/src/dr/inference/distribution/LinearRegression.java b/src/dr/inference/distribution/LinearRegression.java
index caebeaa..cec8e85 100644
--- a/src/dr/inference/distribution/LinearRegression.java
+++ b/src/dr/inference/distribution/LinearRegression.java
@@ -1,3 +1,28 @@
+/*
+ * LinearRegression.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.distribution;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inference/distribution/LocationScaleJeffreysPrior.java b/src/dr/inference/distribution/LocationScaleJeffreysPrior.java
index 7950677..e9d6aef 100644
--- a/src/dr/inference/distribution/LocationScaleJeffreysPrior.java
+++ b/src/dr/inference/distribution/LocationScaleJeffreysPrior.java
@@ -1,7 +1,7 @@
 /*
  * LocationScaleJeffreysPrior.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/distribution/LogLinearModel.java b/src/dr/inference/distribution/LogLinearModel.java
index 4175e0b..138eae2 100644
--- a/src/dr/inference/distribution/LogLinearModel.java
+++ b/src/dr/inference/distribution/LogLinearModel.java
@@ -1,3 +1,28 @@
+/*
+ * LogLinearModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.distribution;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inference/distribution/LogNormalDistributionModel.java b/src/dr/inference/distribution/LogNormalDistributionModel.java
index 00bc553..18fed9a 100644
--- a/src/dr/inference/distribution/LogNormalDistributionModel.java
+++ b/src/dr/inference/distribution/LogNormalDistributionModel.java
@@ -1,7 +1,7 @@
 /*
  * LogNormalDistributionModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/distribution/LogisticRegression.java b/src/dr/inference/distribution/LogisticRegression.java
index fa38faf..d9449d7 100644
--- a/src/dr/inference/distribution/LogisticRegression.java
+++ b/src/dr/inference/distribution/LogisticRegression.java
@@ -1,3 +1,28 @@
+/*
+ * LogisticRegression.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.distribution;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inference/distribution/MixedDistributionLikelihood.java b/src/dr/inference/distribution/MixedDistributionLikelihood.java
index 2f7d489..a500f08 100644
--- a/src/dr/inference/distribution/MixedDistributionLikelihood.java
+++ b/src/dr/inference/distribution/MixedDistributionLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * MixedDistributionLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.distribution;
 
 import dr.inference.model.CompoundModel;
diff --git a/src/dr/inference/distribution/ModelSpecificPseudoPriorLikelihood.java b/src/dr/inference/distribution/ModelSpecificPseudoPriorLikelihood.java
index b3dc4bd..7778b0e 100644
--- a/src/dr/inference/distribution/ModelSpecificPseudoPriorLikelihood.java
+++ b/src/dr/inference/distribution/ModelSpecificPseudoPriorLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * ModelSpecificPseudoPriorLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.distribution;
 
 import dr.math.distributions.Distribution;
diff --git a/src/dr/inference/distribution/MomentDistributionModel.java b/src/dr/inference/distribution/MomentDistributionModel.java
new file mode 100644
index 0000000..0cd815e
--- /dev/null
+++ b/src/dr/inference/distribution/MomentDistributionModel.java
@@ -0,0 +1,203 @@
+/*
+ * MomentDistributionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inference.distribution;
+
+
+import dr.inference.model.*;
+import dr.inference.model.Parameter;
+import dr.inferencexml.distribution.MomentDistributionModelParser;
+import dr.math.distributions.RandomGenerator;
+
+//@author Max Tolkoff
+public class MomentDistributionModel extends AbstractModelLikelihood implements ParametricMultivariateDistributionModel, RandomGenerator {
+
+    public MomentDistributionModel(Parameter mean, Parameter precision, Parameter cutoff, Parameter data) {
+        super(MomentDistributionModelParser.MOMENT_DISTRIBUTION_MODEL);
+
+        this.mean=mean;
+        this.precision=precision;
+//        this.mean = new DuplicatedParameter(mean);
+//        this.mean.addDuplicationParameter(new Parameter.Default(cutoff.getDimension()));
+//        DuplicatedParameter precTemp= new DuplicatedParameter(precision);
+//        precTemp.addDuplicationParameter(new Parameter.Default(cutoff.getDimension()));
+//        this.precision=new DiagonalMatrix(precTemp);
+        addVariable(mean);
+        mean.addBounds(new Parameter.DefaultBounds(Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, 1));
+        addVariable(precision);
+//        precision.addBounds(new Parameter.DefaultBounds(Double.POSITIVE_INFINITY, 0.0, 1));
+        this.cutoff=cutoff;
+        addVariable(cutoff);
+        cutoff.addBounds(new Parameter.DefaultBounds(Double.POSITIVE_INFINITY, 0.0, cutoff.getDimension()));
+        addVariable(data);
+        this.data=data;
+        untruncated=new NormalDistributionModel(mean, precision, true);
+        sumKnown=false;
+        untruncatedKnown=false;
+    }
+
+    private final Parameter mean;
+    private final Parameter precision;
+//    private final DuplicatedParameter mean;
+//    private final DiagonalMatrix precision;
+    private final Parameter cutoff;
+    private NormalDistributionModel untruncated;
+    private double sum;
+    private boolean sumKnown;
+
+    private boolean storedSumKnown;
+    private double storedSum;
+    private boolean untruncatedKnown;
+    private boolean storedUntruncatedKnown;
+    private NormalDistributionModel storedUntruncated;
+    private Parameter data;
+
+    public double logPdf(Parameter data) {
+//        untruncatedKnown=false;
+//        sumKnown=false;
+        checkDistribution();
+        if(sumKnown)
+            return sum;
+        else
+        {
+            sum=0;
+        }
+        if(data.getDimension()!=cutoff.getDimension()){
+            throw new RuntimeException("Incorrect number of cutoffs");
+        }
+        for (int i = 0; i <data.getDimension() ; i++) {
+            if (Math.sqrt(precision.getParameterValue(0) * cutoff.getParameterValue(i)) > Math.abs(data.getParameterValue(i)) && data.getParameterValue(i)!=0)
+                return Double.NEGATIVE_INFINITY;
+            else if(data.getParameterValue(i)==0)
+                sum+=-1000-Math.log(precision.getParameterValue(0));
+            else
+                sum+=untruncated.logPdf(data.getParameterValue(i));//(2*untruncated.logPdf(cutoff.getParameterValue(i)));
+        }
+        sumKnown=true;
+        return sum;
+        //}
+
+    }
+
+    @Override
+    public double logPdf(double[] x) {
+        return 0;
+    }
+
+    @Override
+    public double[][] getScaleMatrix() {
+        double[][] temp=new double[1][1];
+        temp[0][0]=precision.getParameterValue(0);
+        return temp;
+//        return precision.getParameterAsMatrix();
+    }
+
+    @Override
+    public double[] getMean() {
+        return mean.getParameterValues();
+    }
+
+    @Override
+    public String getType() {
+        return "Moment Distribution Model";
+    }
+
+    @Override
+    protected void handleModelChangedEvent(Model model, Object object, int index) {
+
+    }
+
+    @Override
+    protected void handleVariableChangedEvent(Variable variable, int index, Parameter.ChangeType type) {
+        sumKnown=false;
+        if(variable==mean || variable==precision)
+        {untruncatedKnown=false;}
+
+    }
+
+    @Override
+    protected void storeState() {
+        storedSumKnown=sumKnown;
+        storedSum=sum;
+        storedUntruncated=untruncated;
+        storedUntruncatedKnown=untruncatedKnown;
+    }
+
+    @Override
+    protected void restoreState() {
+        sumKnown=storedSumKnown;
+        sum=storedSum;
+        untruncated=storedUntruncated;
+        untruncatedKnown=storedUntruncatedKnown;
+
+    }
+
+    @Override
+    protected void acceptState() {
+
+    }
+
+    private NormalDistributionModel createNewDistribution() {
+        return new NormalDistributionModel(mean, precision, true);
+//        return new NormalDistributionModel(new Parameter.Default(mean.getParameterValue(0)), new Parameter.Default(precision.getParameterValue(0)), true);
+    }
+
+    private void checkDistribution() {
+        if (!untruncatedKnown) {
+            untruncated = createNewDistribution();
+            untruncatedKnown = true;
+        }
+    }
+
+    @Override
+    public double[] nextRandom() {
+        return new double[0];
+    }
+
+    @Override
+    public double logPdf(Object x) {
+        if(x instanceof Parameter)
+         return logPdf((Parameter) x);
+        else
+            return 0;
+    }
+
+    @Override
+    public Model getModel() {
+        return this;
+    }
+
+    @Override
+    public double getLogLikelihood() {
+        return logPdf(data);
+    }
+
+    @Override
+    public void makeDirty() {
+        sumKnown=false;
+        untruncatedKnown=false;
+
+    }
+}
diff --git a/src/dr/inference/distribution/MultivariateDistributionLikelihood.java b/src/dr/inference/distribution/MultivariateDistributionLikelihood.java
index 3668d2f..569a7d0 100644
--- a/src/dr/inference/distribution/MultivariateDistributionLikelihood.java
+++ b/src/dr/inference/distribution/MultivariateDistributionLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * MultivariateDistributionLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/distribution/MultivariateNormalDistributionModel.java b/src/dr/inference/distribution/MultivariateNormalDistributionModel.java
index d089c78..a68a6a9 100644
--- a/src/dr/inference/distribution/MultivariateNormalDistributionModel.java
+++ b/src/dr/inference/distribution/MultivariateNormalDistributionModel.java
@@ -1,7 +1,7 @@
 /*
  * MultivariateNormalDistributionModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -43,9 +43,11 @@ public class MultivariateNormalDistributionModel extends AbstractModel implement
         super(MultivariateNormalDistributionModelParser.NORMAL_DISTRIBUTION_MODEL);
         this.mean = meanParameter;
         addVariable(meanParameter);
-        meanParameter.addBounds(new Parameter.DefaultBounds(Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY,
-                meanParameter.getDimension()));
 
+        if (!(meanParameter instanceof DuplicatedParameter)) {
+            meanParameter.addBounds(new Parameter.DefaultBounds(Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY,
+                    meanParameter.getDimension()));
+        }
         this.precision = precParameter;
         addVariable(precParameter);
 
@@ -98,6 +100,10 @@ public class MultivariateNormalDistributionModel extends AbstractModel implement
         // no intermediates need to be recalculated...
     }
 
+    public Likelihood getLikelihood() {
+        return null;
+    }
+
     protected final void handleVariableChangedEvent(Variable variable, int index, Parameter.ChangeType type) {
         distributionKnown = false;
     }
diff --git a/src/dr/inference/distribution/NormalDistributionModel.java b/src/dr/inference/distribution/NormalDistributionModel.java
index 0596753..7a4d434 100644
--- a/src/dr/inference/distribution/NormalDistributionModel.java
+++ b/src/dr/inference/distribution/NormalDistributionModel.java
@@ -1,7 +1,7 @@
 /*
  * NormalDistributionModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/distribution/ParametricDistributionModel.java b/src/dr/inference/distribution/ParametricDistributionModel.java
index f11a8c2..a23b3ec 100644
--- a/src/dr/inference/distribution/ParametricDistributionModel.java
+++ b/src/dr/inference/distribution/ParametricDistributionModel.java
@@ -1,7 +1,7 @@
 /*
  * ParametricDistributionModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/distribution/ParametricMultivariateDistributionModel.java b/src/dr/inference/distribution/ParametricMultivariateDistributionModel.java
index 01962d3..b43107d 100644
--- a/src/dr/inference/distribution/ParametricMultivariateDistributionModel.java
+++ b/src/dr/inference/distribution/ParametricMultivariateDistributionModel.java
@@ -1,7 +1,7 @@
 /*
  * ParametricMultivariateDistributionModel.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/distribution/RandomWalkModel.java b/src/dr/inference/distribution/RandomWalkModel.java
index 2bea02a..065d40d 100644
--- a/src/dr/inference/distribution/RandomWalkModel.java
+++ b/src/dr/inference/distribution/RandomWalkModel.java
@@ -1,3 +1,28 @@
+/*
+ * RandomWalkModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.distribution;
 
 import dr.inference.model.*;
diff --git a/src/dr/inference/distribution/SkewNormalDistributionModel.java b/src/dr/inference/distribution/SkewNormalDistributionModel.java
index 7bd9c61..79835b3 100644
--- a/src/dr/inference/distribution/SkewNormalDistributionModel.java
+++ b/src/dr/inference/distribution/SkewNormalDistributionModel.java
@@ -1,7 +1,7 @@
 /*
  * SkewNormalDistributionModel.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/distribution/SplineInterpolatedLikelihood.java b/src/dr/inference/distribution/SplineInterpolatedLikelihood.java
index 71bb3fe..7cfba00 100644
--- a/src/dr/inference/distribution/SplineInterpolatedLikelihood.java
+++ b/src/dr/inference/distribution/SplineInterpolatedLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * SplineInterpolatedLikelihood.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/distribution/TDistributionModel.java b/src/dr/inference/distribution/TDistributionModel.java
index 33e02ea..b132d80 100644
--- a/src/dr/inference/distribution/TDistributionModel.java
+++ b/src/dr/inference/distribution/TDistributionModel.java
@@ -1,7 +1,7 @@
 /*
  * TDistributionModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/distribution/TruncatedNormalDistributionModel.java b/src/dr/inference/distribution/TruncatedNormalDistributionModel.java
index 39547dd..9ffcd95 100644
--- a/src/dr/inference/distribution/TruncatedNormalDistributionModel.java
+++ b/src/dr/inference/distribution/TruncatedNormalDistributionModel.java
@@ -1,3 +1,28 @@
+/*
+ * TruncatedNormalDistributionModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.distribution;/*
  * NormalDistributionModel.java
  *
diff --git a/src/dr/inference/distribution/TwoPartsDistributionLikelihood.java b/src/dr/inference/distribution/TwoPartsDistributionLikelihood.java
index c8fcffc..7831e98 100644
--- a/src/dr/inference/distribution/TwoPartsDistributionLikelihood.java
+++ b/src/dr/inference/distribution/TwoPartsDistributionLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * TwoPartsDistributionLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.distribution;
 
 import dr.math.distributions.Distribution;
diff --git a/src/dr/inference/distribution/TwoPieceLocationScaleDistributionModel.java b/src/dr/inference/distribution/TwoPieceLocationScaleDistributionModel.java
index cbd39a9..ff01077 100644
--- a/src/dr/inference/distribution/TwoPieceLocationScaleDistributionModel.java
+++ b/src/dr/inference/distribution/TwoPieceLocationScaleDistributionModel.java
@@ -1,7 +1,7 @@
 /*
  * TwoPieceLocationScaleDistributionModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/distribution/UniformDistributionModel.java b/src/dr/inference/distribution/UniformDistributionModel.java
index ed9990f..83f28ff 100644
--- a/src/dr/inference/distribution/UniformDistributionModel.java
+++ b/src/dr/inference/distribution/UniformDistributionModel.java
@@ -1,7 +1,7 @@
 /*
  * UniformDistributionModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/distribution/WishartGammalDistributionModel.java b/src/dr/inference/distribution/WishartGammalDistributionModel.java
index b0e429c..9e1b211 100644
--- a/src/dr/inference/distribution/WishartGammalDistributionModel.java
+++ b/src/dr/inference/distribution/WishartGammalDistributionModel.java
@@ -1,7 +1,7 @@
 /*
  * WishartGammalDistributionModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/loggers/ArrayLogFormatter.java b/src/dr/inference/loggers/ArrayLogFormatter.java
index d662776..a528678 100644
--- a/src/dr/inference/loggers/ArrayLogFormatter.java
+++ b/src/dr/inference/loggers/ArrayLogFormatter.java
@@ -1,3 +1,28 @@
+/*
+ * ArrayLogFormatter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.loggers;
 
 import dr.inference.trace.Trace;
diff --git a/src/dr/inference/loggers/BooleanColumn.java b/src/dr/inference/loggers/BooleanColumn.java
index ca96618..b737fce 100644
--- a/src/dr/inference/loggers/BooleanColumn.java
+++ b/src/dr/inference/loggers/BooleanColumn.java
@@ -1,3 +1,28 @@
+/*
+ * BooleanColumn.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.loggers;
 
 /**
diff --git a/src/dr/inference/loggers/Columns.java b/src/dr/inference/loggers/Columns.java
index 77e3e14..cccdfef 100644
--- a/src/dr/inference/loggers/Columns.java
+++ b/src/dr/inference/loggers/Columns.java
@@ -1,7 +1,7 @@
 /*
  * Columns.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/loggers/LogColumn.java b/src/dr/inference/loggers/LogColumn.java
index e5d0334..a17eaa3 100644
--- a/src/dr/inference/loggers/LogColumn.java
+++ b/src/dr/inference/loggers/LogColumn.java
@@ -1,7 +1,7 @@
 /*
  * LogColumn.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/loggers/LogFormatter.java b/src/dr/inference/loggers/LogFormatter.java
index 817986a..5bc2ca8 100644
--- a/src/dr/inference/loggers/LogFormatter.java
+++ b/src/dr/inference/loggers/LogFormatter.java
@@ -1,7 +1,7 @@
 /*
  * LogFormatter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/loggers/Loggable.java b/src/dr/inference/loggers/Loggable.java
index 33e0e0f..381774e 100644
--- a/src/dr/inference/loggers/Loggable.java
+++ b/src/dr/inference/loggers/Loggable.java
@@ -1,7 +1,7 @@
 /*
  * Loggable.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/loggers/Logger.java b/src/dr/inference/loggers/Logger.java
index 9059127..6fc97b7 100644
--- a/src/dr/inference/loggers/Logger.java
+++ b/src/dr/inference/loggers/Logger.java
@@ -1,7 +1,7 @@
 /*
  * Logger.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/loggers/MCLogger.java b/src/dr/inference/loggers/MCLogger.java
index d7f1161..db5e602 100644
--- a/src/dr/inference/loggers/MCLogger.java
+++ b/src/dr/inference/loggers/MCLogger.java
@@ -1,7 +1,7 @@
 /*
  * MCLogger.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/loggers/MLLogger.java b/src/dr/inference/loggers/MLLogger.java
index 664a180..4f97888 100644
--- a/src/dr/inference/loggers/MLLogger.java
+++ b/src/dr/inference/loggers/MLLogger.java
@@ -1,7 +1,7 @@
 /*
  * MLLogger.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/loggers/MatrixEntryColumn.java b/src/dr/inference/loggers/MatrixEntryColumn.java
index 6e250ba..60ee833 100644
--- a/src/dr/inference/loggers/MatrixEntryColumn.java
+++ b/src/dr/inference/loggers/MatrixEntryColumn.java
@@ -1,3 +1,28 @@
+/*
+ * MatrixEntryColumn.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.loggers;
 
 /**
diff --git a/src/dr/inference/loggers/NumberColumn.java b/src/dr/inference/loggers/NumberColumn.java
index 6ef6543..52256c5 100644
--- a/src/dr/inference/loggers/NumberColumn.java
+++ b/src/dr/inference/loggers/NumberColumn.java
@@ -1,7 +1,7 @@
 /*
  * NumberColumn.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/loggers/PercentColumn.java b/src/dr/inference/loggers/PercentColumn.java
index f4c33e0..3eb8996 100644
--- a/src/dr/inference/loggers/PercentColumn.java
+++ b/src/dr/inference/loggers/PercentColumn.java
@@ -1,3 +1,28 @@
+/*
+ * PercentColumn.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.loggers;
 
 /**
diff --git a/src/dr/inference/loggers/TabDelimitedFormatter.java b/src/dr/inference/loggers/TabDelimitedFormatter.java
index c5e1376..3b9ad95 100644
--- a/src/dr/inference/loggers/TabDelimitedFormatter.java
+++ b/src/dr/inference/loggers/TabDelimitedFormatter.java
@@ -1,7 +1,7 @@
 /*
  * TabDelimitedFormatter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/markovchain/Acceptor.java b/src/dr/inference/markovchain/Acceptor.java
index fc049cf..7ac55e4 100644
--- a/src/dr/inference/markovchain/Acceptor.java
+++ b/src/dr/inference/markovchain/Acceptor.java
@@ -1,7 +1,7 @@
 /*
  * Acceptor.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/markovchain/MarkovChain.java b/src/dr/inference/markovchain/MarkovChain.java
index 7f7ed95..d45ba61 100644
--- a/src/dr/inference/markovchain/MarkovChain.java
+++ b/src/dr/inference/markovchain/MarkovChain.java
@@ -1,7 +1,7 @@
 /*
  * MarkovChain.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -25,9 +25,11 @@
 
 package dr.inference.markovchain;
 
+import dr.evomodel.continuous.GibbsIndependentCoalescentOperator;
 import dr.inference.model.CompoundLikelihood;
 import dr.inference.model.Likelihood;
 import dr.inference.model.Model;
+import dr.inference.model.PathLikelihood;
 import dr.inference.operators.*;
 import dr.inference.prior.Prior;
 
@@ -137,6 +139,9 @@ public final class MarkovChain implements Serializable {
             String message = "The initial likelihood is zero";
             if (likelihood instanceof CompoundLikelihood) {
                 message += ": " + ((CompoundLikelihood) likelihood).getDiagnosis();
+            } else if (likelihood instanceof PathLikelihood) {
+                message += ": " + ((CompoundLikelihood)((PathLikelihood) likelihood).getSourceLikelihood()).getDiagnosis();
+                message += ": " + ((CompoundLikelihood)((PathLikelihood) likelihood).getDestinationLikelihood()).getDiagnosis();
             } else {
                 message += ".";
             }
@@ -252,7 +257,9 @@ public final class MarkovChain implements Serializable {
                 }
 
                 if (score == Double.NEGATIVE_INFINITY && mcmcOperator instanceof GibbsOperator) {
-                    Logger.getLogger("error").severe("State " + currentState + ": A Gibbs opertor, " + mcmcOperator.getOperatorName() + ", returned a state with zero likelihood.");
+                    if (!(mcmcOperator instanceof GibbsIndependentNormalDistributionOperator) && !(mcmcOperator instanceof GibbsIndependentGammaOperator) && !(mcmcOperator instanceof GibbsIndependentCoalescentOperator) && !(mcmcOperator instanceof GibbsIndependentJointNormalGammaOperator)) {
+                        Logger.getLogger("error").severe("State " + currentState + ": A Gibbs operator, " + mcmcOperator.getOperatorName() + ", returned a state with zero likelihood.");
+                    }
                 }
 
                 if (score == Double.POSITIVE_INFINITY ||
@@ -444,6 +451,10 @@ public final class MarkovChain implements Serializable {
         return isStopped;
     }
 
+    public double evaluate() {
+        return evaluate(likelihood, prior);
+    }
+
     protected double evaluate(Likelihood likelihood, Prior prior) {
 
         double logPosterior = 0.0;
diff --git a/src/dr/inference/markovchain/MarkovChainDelegate.java b/src/dr/inference/markovchain/MarkovChainDelegate.java
index ebdb28f..5915f2e 100644
--- a/src/dr/inference/markovchain/MarkovChainDelegate.java
+++ b/src/dr/inference/markovchain/MarkovChainDelegate.java
@@ -1,7 +1,7 @@
 /*
- * MarkovChainListener.java
+ * MarkovChainDelegate.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/markovchain/MarkovChainListener.java b/src/dr/inference/markovchain/MarkovChainListener.java
index b1c5d1f..87d7f42 100644
--- a/src/dr/inference/markovchain/MarkovChainListener.java
+++ b/src/dr/inference/markovchain/MarkovChainListener.java
@@ -1,7 +1,7 @@
 /*
  * MarkovChainListener.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/markovchain/Profiler.java b/src/dr/inference/markovchain/Profiler.java
index 8edbba0..79a0adc 100644
--- a/src/dr/inference/markovchain/Profiler.java
+++ b/src/dr/inference/markovchain/Profiler.java
@@ -1,7 +1,7 @@
 /*
  * Profiler.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/markovjumps/MarkovJumpsCore.java b/src/dr/inference/markovjumps/MarkovJumpsCore.java
index 5c5889f..0934f33 100644
--- a/src/dr/inference/markovjumps/MarkovJumpsCore.java
+++ b/src/dr/inference/markovjumps/MarkovJumpsCore.java
@@ -1,3 +1,28 @@
+/*
+ * MarkovJumpsCore.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.markovjumps;
 
 import java.util.Arrays;
diff --git a/src/dr/inference/markovjumps/MarkovJumpsRegisterAcceptor.java b/src/dr/inference/markovjumps/MarkovJumpsRegisterAcceptor.java
index 4564c6d..c8e31f9 100644
--- a/src/dr/inference/markovjumps/MarkovJumpsRegisterAcceptor.java
+++ b/src/dr/inference/markovjumps/MarkovJumpsRegisterAcceptor.java
@@ -1,3 +1,28 @@
+/*
+ * MarkovJumpsRegisterAcceptor.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.markovjumps;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inference/markovjumps/MarkovJumpsType.java b/src/dr/inference/markovjumps/MarkovJumpsType.java
index de78f4a..0e09cf8 100644
--- a/src/dr/inference/markovjumps/MarkovJumpsType.java
+++ b/src/dr/inference/markovjumps/MarkovJumpsType.java
@@ -1,3 +1,28 @@
+/*
+ * MarkovJumpsType.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.markovjumps;
 
 /**
diff --git a/src/dr/inference/markovjumps/MarkovReward.java b/src/dr/inference/markovjumps/MarkovReward.java
index 1b8a013..804fd4b 100644
--- a/src/dr/inference/markovjumps/MarkovReward.java
+++ b/src/dr/inference/markovjumps/MarkovReward.java
@@ -1,7 +1,7 @@
 /*
  * MarkovReward.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/markovjumps/SericolaSeriesMarkovReward.java b/src/dr/inference/markovjumps/SericolaSeriesMarkovReward.java
index d5534c7..d288c57 100644
--- a/src/dr/inference/markovjumps/SericolaSeriesMarkovReward.java
+++ b/src/dr/inference/markovjumps/SericolaSeriesMarkovReward.java
@@ -1,7 +1,7 @@
 /*
  * SericolaSeriesMarkovReward.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/markovjumps/StateChange.java b/src/dr/inference/markovjumps/StateChange.java
index cede431..655538c 100644
--- a/src/dr/inference/markovjumps/StateChange.java
+++ b/src/dr/inference/markovjumps/StateChange.java
@@ -1,7 +1,7 @@
 /*
  * StateChange.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/markovjumps/StateHistory.java b/src/dr/inference/markovjumps/StateHistory.java
index 19f95cb..bc33cea 100644
--- a/src/dr/inference/markovjumps/StateHistory.java
+++ b/src/dr/inference/markovjumps/StateHistory.java
@@ -1,7 +1,7 @@
 /*
  * StateHistory.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/markovjumps/SubordinatedProcess.java b/src/dr/inference/markovjumps/SubordinatedProcess.java
index c283226..2e71ec9 100644
--- a/src/dr/inference/markovjumps/SubordinatedProcess.java
+++ b/src/dr/inference/markovjumps/SubordinatedProcess.java
@@ -1,3 +1,28 @@
+/*
+ * SubordinatedProcess.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.markovjumps;
 
 import dr.math.GammaFunction;
diff --git a/src/dr/inference/markovjumps/TwoStateOccupancyMarkovReward.java b/src/dr/inference/markovjumps/TwoStateOccupancyMarkovReward.java
index f4f9d1f..ca8151b 100644
--- a/src/dr/inference/markovjumps/TwoStateOccupancyMarkovReward.java
+++ b/src/dr/inference/markovjumps/TwoStateOccupancyMarkovReward.java
@@ -1,7 +1,7 @@
 /*
  * TwoStateOccupancyMarkovReward.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -37,6 +37,10 @@ import dr.math.matrixAlgebra.Vector;
  * @author Marc Suchard
  * @author Christophe Fraiser
  * @author Andrew Rambaut
+ *
+ *
+ * https://en.wikipedia.org/wiki/Generalized_integer_gamma_distribution
+ *
  */
 
 
@@ -61,9 +65,9 @@ public class TwoStateOccupancyMarkovReward implements MarkovReward {
 
         eigenSystem = new DefaultEigenSystem(2);
 
-        if (Q[idx(0, 0)] != Q[idx(1, 1)]) {
-            throw new IllegalArgumentException("Only currently implemented for equal rates models");
-        }
+//        if (Q[idx(0, 0)] != Q[idx(1, 1)]) {
+//            throw new IllegalArgumentException("Only currently implemented for equal rates models");
+//        }
     }
 
     private int idx(int i, int j) {
@@ -72,78 +76,278 @@ public class TwoStateOccupancyMarkovReward implements MarkovReward {
 
     private double[] jumpProbabilities = null;
 
-    private double getAki(double lambda1, double lambda2, int k, int i) {
-//        double logA = Binomial.logChoose(k + i - 1, i) +
-//                k * Math.log(lambda1) + (k - 1) * Math.log(lambda2)
-//        int sign = 1;
-//        return sign * Math.exp(logA);
-        return Binomial.choose(k + i - 1, i) * Math.pow(-1, i) * Math.pow(lambda1, k)
-                * Math.pow(lambda2, k - 1) / Math.pow(lambda2 - lambda1, k + i);
-    }
+//    private double getAki(double lambda1, double lambda2, int k, int i) {
+////        double logA = Binomial.logChoose(k + i - 1, i) +
+////                k * Math.log(lambda1) + (k - 1) * Math.log(lambda2)
+////        int sign = 1;
+////        return sign * Math.exp(logA);
+//        return Binomial.choose(k + i - 1, i) * Math.pow(-1, i) * Math.pow(lambda1, k)
+//                * Math.pow(lambda2, k - 1) / Math.pow(lambda2 - lambda1, k + i);
+//    }
+//
+//    private double getBki(double lambda1, double lambda2, int k, int i) {
+//        return Binomial.choose(k + i - 1, i) * Math.pow(-1, i) * Math.pow(lambda1, k)
+//                * Math.pow(lambda2, k - 1) / Math.pow(lambda1 - lambda2, k + i);
+//    }
+//
+//    private double getCki(double lambda1, double lambda2, int k, int i) {
+//        return Binomial.choose(k + i - 1, i) * Math.pow(-1, i) * Math.pow(lambda1, k)
+//                * Math.pow(lambda2, k) / Math.pow(lambda2 - lambda1, k + i);
+//    }
+//
+//    private double getDki(double lambda1, double lambda2, int k, int i) {
+//        return Binomial.choose(k + i, i) * Math.pow(-1, i) * Math.pow(lambda1, k)
+//                * Math.pow(lambda2, k) / Math.pow(lambda1 - lambda2, k + i + 1);
+//    }
 
-    private double getBki(double lambda1, double lambda2, int k, int i) {
-        return Binomial.choose(k + i - 1, i) * Math.pow(-1, i) * Math.pow(lambda1, k)
-                * Math.pow(lambda2, k - 1) / Math.pow(lambda1 - lambda2, k + i);
-    }
 
-    private double getCki(double lambda1, double lambda2, int k, int i) {
-        return Binomial.choose(k + i - 1, i) * Math.pow(-1, i) * Math.pow(lambda1, k)
-                * Math.pow(lambda2, k) / Math.pow(lambda2 - lambda1, k + i);
-    }
+    private void computeCDForJumpProbabilities(double lambda1, double lambda2, double[][] C, double[][] D) {
 
-    private double getDki(double lambda1, double lambda2, int k, int i) {
-        return Binomial.choose(k + i, i) * Math.pow(-1, i) * Math.pow(lambda1, k)
-                * Math.pow(lambda2, k) / Math.pow(lambda1 - lambda2, k + i + 1);
-    }
+        if (lambda1 == lambda2) return;
+
+        for (int k = 0; k < maxK / 2; ++k) {
+            final double l1l2k = Math.pow(lambda1 * lambda2, k);
+
+            for (int i = 0; i <= k + 1; ++i) {
+                final double sign = Math.pow(-1, i);
 
+                if (k == 0 && i == 0) {
+                    C[k][i] = 1.0;
+                } else {
+                    C[k][i] = sign * l1l2k * Binomial.choose(k + i - 1, i)
+                            / Math.pow(lambda2 - lambda1, k + i);
+                }
+                D[k][i] = sign * l1l2k * Binomial.choose(k + i, i)
+                        / Math.pow(lambda1 - lambda2, k + i + 1);
 
-    private void computeJumpProbabilities(double lambda1, double lambda2, double[] jumpProbabilities) {
-        jumpProbabilities = new double[maxK];
+//                C[k][i] = C1(lambda1, lambda2, k, i);
+//                D[k][i] = D1(lambda1, lambda2, k, i);
+            }
+        }
+    }
 
-//        if (lambda1 == lambda2) { // Poisson process
+//    private static double C1(double lambda1, double lambda2, int k, int index) {
+//        if (k == 0 && index == 0) return 1.0;
 //
-//        } else {
-//            for (int k = 0; k < maxK / 2; ++k) {
-//                double sumC = 0.0;
-//                double sumD = 0.0;
-//                for (int i = 1; i <= k + 1; ++i) {
-//                    sumC += getCki(lambda1, lambda2, k, k - i + 1) * Math
-//                }
-//                jumpProbabilities[2 * k] = sumC + sumD;
-//            }
-//        }
+//        return Math.pow(-1, index) * Math.pow(lambda1 * lambda2, k) * Binomial.choose(k + index - 1, index) /
+//                Math.pow(lambda2 - lambda1, k + index);
+//    }
+//
+//    private static double D1(double lambda1, double lambda2, int k, int index) {
+//        return Math.pow(-1, index) * Math.pow(lambda1 * lambda2, k) * Binomial.choose(k + index, index) /
+//                Math.pow(lambda1 - lambda2, k + index + 1);
+//    }
+
+    private void computeJumpProbabilities(double lambda1, double lambda2, double time,
+                                          final double[][] C, final double[][] D, double[] jumpProbabilities) {
+
+//        jumpProbabilities = new double[maxK];
+
+        final double expLambda1Time = Math.exp(-lambda1 * time);
+        final double expLambda2Time = Math.exp(-lambda2 * time);
+
+        if (lambda1 == lambda2) {
+            for (int m = 1; m < maxK / 2 + 1; ++m) {
+                final int k = 2 * m;
+                jumpProbabilities[k] = expLambda1Time * Math.pow(lambda1 * time, k)
+                        / Math.exp(GammaFunction.lnGamma(k + 1));
+            }
+        } else {
+
+            for (int k = 1; k < maxK / 2; ++k) {
+                double sum = 0.0;
+                double multiplicativeFactor = 1.0;
+                for (int i = 1; i <= k + 1; ++i) {
+
+                    if (i > 1) {
+                        multiplicativeFactor *= time / (i - 1);
+                    }
+
+                    sum += C[k][k - i + 1]
+                            * multiplicativeFactor
+                            * expLambda1Time;
+
+                    if (i <= k) {
+                        sum += D[k][k - i]
+                                * multiplicativeFactor
+                                * expLambda2Time;
+                    }
+                }
+                jumpProbabilities[2 * k] = sum;
+            }
+        }
     }
 
+    public double[][] getC() { return C; }
+
+    public double[][] getD() { return D; }
+
+    public double[] getJumpProbabilities() { return jumpProbabilities; }
+
     public double computeCdf(double x, double time, int i, int j) {
-        return 0.0;
+        throw new RuntimeException("Not yet implemented");
     }
 
     public double computePdf(double x, double time, int i, int j) {
 
-//        if (jumpProbabilities == null) {
-//            computeJumpProbabilities(Q[idx(0,0)], Q[idx(1,1)], jumpProbabilities);
-//        }
+        if (i != 0 || j != 0) throw new RuntimeException("Not yet implemented");
 
-        final double lambda = -Q[idx(0, 0)];
-        final double rate = 1.0 / lambda;
-        final double logLambdaTime = Math.log(lambda) + Math.log(time);
+        final double lambda0 = -Q[idx(0,0)];
+        final double lambda1 = -Q[idx(1,1)];
 
-        final double time2 = time - x;
+        final boolean symmetric = (lambda0 == lambda1);
+
+        if (!symmetric && C == null) {
+            C = new double[(maxK / 2) + 1][(maxK / 2) + 1];
+            D = new double[(maxK / 2) + 1][(maxK / 2) + 1];
+            computeCDForJumpProbabilities(lambda0, lambda1, C, D);
+        }
+
+        if (jumpProbabilities == null) {
+            jumpProbabilities = new double[maxK + 1];
+            computeJumpProbabilities(lambda0, lambda1, time, C, D, jumpProbabilities);
+        }
+
+        if (symmetric) {
+            // Single rate (symmetric)
+//            final double lambda = -Q[idx(0, 0)];
+            final double scale = 1.0 / lambda0;
+//            final double logLambdaTime = Math.log(lambda) + Math.log(time);
+
+//            final double multiplier = Math.exp(-lambda * time);
+
+            double sum = 0.0;
+            // if time - x > 0, then there must have been at least k = 2 jumps
+            for (int m = 1; m <= maxK / 2; ++m) {
+                final int k = 2 * m;
+                sum +=  jumpProbabilities[k] *
+                        Math.exp(
+//                        k * logLambdaTime - GammaFunction.lnGamma(k + 1)
+                                + GammaDistribution.logPdf(x, m, scale)
+                                + GammaDistribution.logPdf(time - x, m + 1, scale)
+                                - GammaDistribution.logPdf(time, k + 1, scale)
+                );
+            }
+            return //multiplier *
+                    sum;
+        } else {
+
+            // Test partial fractions
+            GeneralizedIntegerGammaDistribution gigd = new GeneralizedIntegerGammaDistribution(4, 10, 0.2, 2.0);
+
+            System.err.println(gigd.generatingFunction(0.5));
+            System.err.println(gigd.generatingFunctionPartialFraction(0.5));
+            System.exit(-1);
+
+            // Two rate model
+            double sum = 0.0;
+            for (int m = 1; m <= maxK / 2; ++m) {
+                final int k = 2 * m;
+                sum += jumpProbabilities[k] +
+                        Math.exp(GammaDistribution.logPdf(x, m, lambda1) // TODO check which rate
+                                        * GammaDistribution.logPdf(time - x, m + 1, lambda0)) // TODO check which rate
+                                / GeneralizedIntegerGammaDistribution.pdf(time, m, m + 1, lambda1, lambda0);
+            }
 
-        final double multiplier = Math.exp(-lambda * time);
 
-        double sum = 0.0;
 
-        // if time - x > 0, then there must have been at least k = 2 jumps
-        for (int m = 1; m <= maxK / 2; ++m) {
-            final int k = 2 * m;
-            sum += Math.exp(k * logLambdaTime - GammaFunction.lnGamma(k + 1)
-                    + GammaDistribution.logPdf(x, m, rate)
-                    + GammaDistribution.logPdf(time - x, m + 1, rate)
-                    - GammaDistribution.logPdf(time, k + 1, rate)
-            );
+            return sum;
+        }
+    }
+
+    static class GeneralizedIntegerGammaDistribution {
+
+        private int shape1, shape2;
+        private double rate1, rate2;
+
+        private double[] A = null;
+        private double[] B = null;
+
+        GeneralizedIntegerGammaDistribution(int shape1, int shape2, double rate1, double rate2) {
+            this.shape1 = shape1; this.shape2 = shape2;
+            this.rate1 = rate1; this.rate2 = rate2;
+        }
+
+        public double generatingFunction(double s) {
+            return Math.pow(rate1 / (rate1 + s), shape1) * Math.pow(rate2 / (rate2 + s), shape2);
+        }
+
+
+//        http://www.ism.ac.jp/editsec/aism/pdf/034_3_0591.pdf
+        public double generatingFunctionPartialFraction(double s) {
+            if (A == null) {
+                computeCoefficients();
+            }
+            double sum = 0.0;
+
+            for (int i = 1; i <= shape1; ++i) {
+                sum += A[i] / Math.pow(rate1 + s, i);
+            }
+
+            for (int i = 1; i <= shape2; ++i) {
+                sum += B[i] / Math.pow(rate2 + s, i);
+            }
+
+//            double B1 = -rate1 * rate2 * rate2 * (Math.pow(rate1 - rate2, -1) + Math.pow(rate1 - rate2, -2));
+
+//            double A1 = rate1 * rate2 * rate2 * Math.pow(rate2 - rate1, -2);
+//            double B1 = -rate1 * rate2 * rate2 * Math.pow(rate1 - rate2, -2);
+//            double B2 =  rate1 * rate2 * rate2 * Math.pow(rate1 - rate2, -1);
+
+//            System.err.println("A1: " + A1 + " " + A[1]);
+//            System.err.println("B1: " + B1 + " " + B[1]);
+//            System.err.println("B2: " + B2 + " " + B[2]);
+
+//            double sum2 = A1 / (rate1 + s) + B1 / (rate2 + s) + B2 / ((rate2 + s) * (rate2 + s));
+
+//            return sum2;
+            return sum;
+        }
+
+        private void computeCoefficients() {
+            A = new double[shape1 + 1];
+            B = new double[shape2 + 1];
+
+            final double lambdaFactor = Math.pow(rate1, shape1) * Math.pow(rate2, shape2);
+
+            int sign = 1;
+            double factorial = 1;
+            for (int i = 1; i <= shape1; ++i) {
+                if (i > 1 && (shape2 + i - 2) > 1) {
+                    factorial *= shape2 + i - 2;
+                    factorial /= i - 1;
+                }
+//                System.err.println("A: " + Binomial.choose(shape2 + i - 1, i - 1));
+
+                System.err.println("A[" + (shape1 - i + 1) + "]: " + factorial);
+                A[shape1 - i + 1] =
+//                        Binomial.choose(shape2 + i - 1, i - 1) *
+                        factorial *
+                        sign * lambdaFactor / Math.pow(rate2 - rate1, shape2 + i - 1); // shape1 - i + 1
+                sign *= -1;
+            }
+
+            sign = 1;
+            factorial = 1;
+            for (int i = 1; i <= shape2; ++i) {
+                if (i > 1 && (shape1 + i - 2) > 1) {
+//                    System.err.println((shape1 + i - 2) + " " + i);
+                    factorial *= shape1 + i - 2;
+                    factorial /= i - 1;
+                }
+
+                System.err.println("B[" + (shape2 - i + 1) + "]: " + factorial);
+                B[shape2 - i + 1] =
+//                        Binomial.choose(shape1 + i - 1, i - 1) *
+                        factorial *
+                        sign * lambdaFactor / Math.pow(rate1 - rate2, shape1 + i - 1); // shape2 - i + 1
+                sign *= -1;
+            }
+        }
+
+        public static double pdf(double x, int shape1, int shape2, double rate1, double rate2) {
+            return 1.0;
         }
-        return multiplier * sum;
     }
 
     public double[] computePdf(double x, double time) {
@@ -204,6 +408,47 @@ public class TwoStateOccupancyMarkovReward implements MarkovReward {
         return i;
     }
 
+//    private static int getKMax(int n) {
+//        if (n % 2 == 0) {
+//            return n / 2;
+//        } else {
+//            return (n + 1) / 2;
+//        }
+//    }
+
+//    private static void hypgeoF11_k_2k(final double x, double[] result, double[] work) {
+//        final int len = result.length;
+//        if (len == 1 || x <= 0.0) return;
+//
+//        final int nmax = len - 1;
+//        final int kmax = getKMax(nmax);
+//        final double y = x / 2.0;
+//        final double lx = Math.log(0.25 * x);
+//        // TODO finish
+//
+//
+//
+//    }
+
+//    private static void pclt(double t, double lambda1, double lambda2, double[] result) {
+//
+//        final int len = result.length;
+//        final int nmax = len - 1;
+//        final int kmax = getKMax(nmax);
+//
+//        double[] work = new double[kmax + 1];
+//
+//        final double x = t * (lambda2 - lambda1);
+//        final double abs_x = Math.abs(x);
+//        final double log_l1 = Math.log(lambda1), log_l2 = Math.log(lambda2), log_t = Math.log(t);
+//        final double max_rate = Math.max(lambda1, lambda2);
+//        double log_gamma = 0.0;
+//
+//        hypgeoF11_k_2k(abs_x, result, work);
+//        // TODO finish
+//
+//    }
+
     public String toString() {
         StringBuilder sb = new StringBuilder();
         sb.append("Q: " + new Vector(Q) + "\n");
@@ -244,4 +489,7 @@ public class TwoStateOccupancyMarkovReward implements MarkovReward {
     private final EigenSystem eigenSystem;
 
     private double maxTime;
+
+    private double[][] C = null;
+    private double[][] D = null;
 }
diff --git a/src/dr/inference/markovjumps/TwoStateSericolaSeriesMarkovReward.java b/src/dr/inference/markovjumps/TwoStateSericolaSeriesMarkovReward.java
index cb85ee8..b767485 100644
--- a/src/dr/inference/markovjumps/TwoStateSericolaSeriesMarkovReward.java
+++ b/src/dr/inference/markovjumps/TwoStateSericolaSeriesMarkovReward.java
@@ -1,7 +1,7 @@
 /*
  * TwoStateSericolaSeriesMarkovReward.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/markovjumps/UniformizedStateHistory.java b/src/dr/inference/markovjumps/UniformizedStateHistory.java
index bd6f624..3d5e9f0 100644
--- a/src/dr/inference/markovjumps/UniformizedStateHistory.java
+++ b/src/dr/inference/markovjumps/UniformizedStateHistory.java
@@ -1,3 +1,28 @@
+/*
+ * UniformizedStateHistory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.markovjumps;
 
 import dr.math.MathUtils;
diff --git a/src/dr/inference/mcmc/DebugChainListener.java b/src/dr/inference/mcmc/DebugChainListener.java
new file mode 100644
index 0000000..9b63727
--- /dev/null
+++ b/src/dr/inference/mcmc/DebugChainListener.java
@@ -0,0 +1,81 @@
+/*
+ * DebugChainListener.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inference.mcmc;
+
+/**
+ * ${CLASS_NAME}
+ *
+ * @author Andrew Rambaut
+ * @version $Id$
+ *
+ * $HeadURL$
+ *
+ * $LastChangedBy$
+ * $LastChangedDate$
+ * $LastChangedRevision$
+ */
+
+import dr.inference.markovchain.MarkovChainListener;
+import dr.inference.model.Model;
+
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+
+public class DebugChainListener implements MarkovChainListener {
+    private MCMC mcmc;
+
+    public DebugChainListener(MCMC mcmc, final long writeState, final boolean isRepeating) {
+        this.mcmc = mcmc;
+        this.writeState = writeState;
+        this.isRepeating = isRepeating;
+    }
+
+    // MarkovChainListener interface *******************************************
+
+    /**
+     * Called to update the current model keepEvery states.
+     */
+    public void currentState(long state, Model currentModel) {
+        if (state == writeState || (isRepeating && state > 0 && (state % writeState == 0))) {
+            String timeStamp = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss").format(Calendar.getInstance().getTime());
+            DebugUtils.writeStateToFile(new File("beast_debug_" + timeStamp), state, mcmc.getMarkovChain().getCurrentScore());
+        }
+    }
+
+    /**
+     * Called when a new new best posterior state is found.
+     */
+    public void bestState(long state, Model bestModel) { }
+
+    /**
+     * cleans up when the chain finishes (possibly early).
+     */
+    public void finished(long chainLength) { }
+
+    private final long writeState;
+    private final boolean isRepeating;
+}
diff --git a/src/dr/inference/mcmc/DebugUtils.java b/src/dr/inference/mcmc/DebugUtils.java
new file mode 100644
index 0000000..927f7d6
--- /dev/null
+++ b/src/dr/inference/mcmc/DebugUtils.java
@@ -0,0 +1,188 @@
+/*
+ * DebugUtils.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inference.mcmc;
+
+/**
+ * ${CLASS_NAME}
+ *
+ * @author Andrew Rambaut
+ * @version $Id$
+ *
+ * $HeadURL$
+ *
+ * $LastChangedBy$
+ * $LastChangedDate$
+ * $LastChangedRevision$
+ */
+
+import dr.evolution.io.Importer;
+import dr.evolution.io.NewickImporter;
+import dr.evolution.tree.Tree;
+import dr.evomodel.tree.TreeModel;
+import dr.inference.model.Likelihood;
+import dr.inference.model.Model;
+import dr.inference.model.Parameter;
+
+import java.io.*;
+
+public class DebugUtils {
+
+    /**
+     * Writes out the current state in a human readable format to help debugging.
+     * If it fails, then returns false but does not stop.
+     * @param file the file
+     * @param state the current state number
+     * @return success
+     */
+    public static boolean writeStateToFile(File file, long state, double lnL) {
+        OutputStream fileOut = null;
+        try {
+            fileOut = new FileOutputStream(file);
+            PrintStream out = new PrintStream(fileOut);
+
+            out.print("state\t");
+            out.println(state);
+
+            out.print("lnL\t");
+            out.println(lnL);
+
+            for (Parameter parameter : Parameter.FULL_PARAMETER_SET) {
+                out.print(parameter.getParameterName());
+                out.print("\t");
+                out.print(parameter.getDimension());
+                for (int dim = 0; dim < parameter.getDimension(); dim++) {
+                    out.print("\t");
+                    out.print(parameter.getParameterValue(dim));
+                }
+                out.println();
+            }
+
+            for (Model model : Model.FULL_MODEL_SET) {
+                if (model instanceof TreeModel) {
+                    out.print(model.getModelName());
+                    out.print("\t");
+                    out.println(((TreeModel) model).getNewick());
+                }
+            }
+
+            out.close();
+            fileOut.close();
+        } catch (IOException ioe) {
+            System.err.println("Unable to write file: " + ioe.getMessage());
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Attempts to read the current state from a state dump file. This should be a state
+     * dump created using the same XML file (some rudimentary checking of this is done).
+     * If it fails then it will throw a RuntimeException. If successful it will return the
+     * current state number.
+     * @param file the file
+     * @return the state number
+     */
+    public static long readStateFromFile(File file, double[] lnL) {
+        long state = -1;
+
+        try {
+            FileReader fileIn = new FileReader(file);
+            BufferedReader in = new BufferedReader(fileIn);
+
+            String line = in.readLine();
+            String[] fields = line.split("\t");
+            try {
+                if (!fields[0].equals("state")) {
+                    throw new RuntimeException("Unable to read state number from state file");
+                }
+                state = Long.parseLong(fields[1]);
+            } catch (NumberFormatException nfe) {
+                throw new RuntimeException("Unable to read state number from state file");
+            }
+
+            line = in.readLine();
+            fields = line.split("\t");
+            try {
+                if (!fields[0].equals("lnL")) {
+                    throw new RuntimeException("Unable to read lnL from state file");
+                }
+                if (lnL != null) {
+                    lnL[0] = Double.parseDouble(fields[1]);
+                }
+            } catch (NumberFormatException nfe) {
+                throw new RuntimeException("Unable to read lnL from state file");
+            }
+
+            for (Parameter parameter : Parameter.FULL_PARAMETER_SET) {
+                line = in.readLine();
+                fields = line.split("\t");
+//                if (!fields[0].equals(parameter.getParameterName())) {
+//                    System.err.println("Unable to match state parameter: " + fields[0] + ", expecting " + parameter.getParameterName());
+//                }
+                int dimension = Integer.parseInt(fields[1]);
+
+                if (dimension != parameter.getDimension()) {
+                    System.err.println("Unable to match state parameter dimension: " + dimension + ", expecting " + parameter.getDimension());
+                }
+
+                for (int dim = 0; dim < parameter.getDimension(); dim++) {
+                    parameter.setParameterValue(dim, Double.parseDouble(fields[dim + 2]));
+                }
+            }
+
+            // load the tree models last as we get the node heights from the tree (not the parameters which
+            // which may not be associated with the right node
+            for (Model model : Model.FULL_MODEL_SET) {
+                if (model instanceof TreeModel) {
+                    line = in.readLine();
+                    fields = line.split("\t");
+                    if (!fields[0].equals(model.getModelName())) {
+                        throw new RuntimeException("Unable to match state parameter: " + fields[0] + ", expecting " + model.getModelName());
+                    }
+                    NewickImporter importer = new NewickImporter(fields[1]);
+                    Tree tree = importer.importNextTree();
+                    ((TreeModel) model).beginTreeEdit();
+                    ((TreeModel) model).adoptTreeStructure(tree);
+                    ((TreeModel) model).endTreeEdit();
+                }
+            }
+
+            in.close();
+            fileIn.close();
+            for (Likelihood likelihood : Likelihood.FULL_LIKELIHOOD_SET) {
+                likelihood.makeDirty();
+            }
+        } catch (IOException ioe) {
+            throw new RuntimeException("Unable to read file: " + ioe.getMessage());
+        } catch (Importer.ImportException ie) {
+            throw new RuntimeException("Unable to import tree: " + ie.getMessage());
+        }
+
+        return state;
+    }
+
+
+}
diff --git a/src/dr/inference/mcmc/FrequencyDistribution2D.java b/src/dr/inference/mcmc/FrequencyDistribution2D.java
deleted file mode 100644
index 2e51c2b..0000000
--- a/src/dr/inference/mcmc/FrequencyDistribution2D.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * FrequencyDistribution2D.java
- *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
- *
- * This file is part of BEAST.
- * See the NOTICE file distributed with this work for additional
- * information regarding copyright ownership and licensing.
- *
- * BEAST 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; either version 2
- * of the License, or (at your option) any later version.
- *
- *  BEAST is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with BEAST; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA  02110-1301  USA
- */
-
-package dr.inference.mcmc;
-
-/**
- * This class modes a two-dimensional binned frequency distribution.
- *
- * @version $Id: FrequencyDistribution2D.java,v 1.1 2002/10/29 13:48:24 rambaut Exp $
- *
- * @author Alexei Drummond
- */
-class FrequencyDistribution2D {
-
-	double binSize1, binSize2;
-	double start1 = 0.0, start2 = 0.0;
-	double[][] bins;
-
-	public FrequencyDistribution2D(int numBins, double binSize1, int numBins2, double binSize2) {
-		init(numBins, binSize1, numBins2, binSize2);
-	}	
-
-	private void init(int numBins, double binSize1, int numBins2, double binSize2) {
-		bins = new double[numBins][numBins2];
-		this.binSize1 = binSize1; 
-		this.binSize2 = binSize2; 
-	}
-
-	public void addPoint(double value1, double value2) {
-	
-		double diff = value1 - start1;
-
-		int index1 = (int)(diff / binSize1);
-		diff = value2 - start2;
-		int index2 = (int)(diff / binSize2);
-		
-		if ((index1 >= 0) && (index1 < bins.length) && (index2 >= 0) && (index2 < bins[0].length)) {
-			bins[index1][index2] += 1;
-		}
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		double mean;
-		buffer.append("\t");
-		for (int i = 0; i < bins.length; i++) {
-			mean = start2 + (binSize2 * ((double)i + 0.5));
-			buffer.append(mean + "\t");
-		}
-		buffer.append("\n");
-		for (int i = 0; i < bins.length; i++) {
-			mean = start1 + (binSize1 * ((double)i + 0.5));
-			buffer.append(mean + "\t");
-			for (int j = 0; j < bins[i].length; j++) {
-				buffer.append(bins[i][j] + "\t");
-			}
-			buffer.append("\n");
-		}
-		return new String(buffer);
-	}
-}
diff --git a/src/dr/inference/mcmc/MCMC.java b/src/dr/inference/mcmc/MCMC.java
index f138d2e..e01dc87 100644
--- a/src/dr/inference/mcmc/MCMC.java
+++ b/src/dr/inference/mcmc/MCMC.java
@@ -1,7 +1,7 @@
 /*
  * MCMC.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
@@ -25,6 +25,8 @@
 
 package dr.inference.mcmc;
 
+import dr.inference.loggers.LogColumn;
+import dr.inference.loggers.Loggable;
 import dr.inference.loggers.Logger;
 import dr.inference.markovchain.MarkovChain;
 import dr.inference.markovchain.MarkovChainDelegate;
@@ -37,8 +39,10 @@ import dr.util.Identifiable;
 import dr.util.NumberFormatter;
 import dr.xml.Spawnable;
 
-import java.io.*;
-import java.util.Calendar;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.PrintStream;
 
 /**
  * An MCMC analysis that estimates parameters of a probabilistic model.
@@ -47,7 +51,15 @@ import java.util.Calendar;
  * @author Andrew Rambaut
  * @version $Id: MCMC.java,v 1.41 2005/07/11 14:06:25 rambaut Exp $
  */
-public class MCMC implements Identifiable, Spawnable {
+public class MCMC implements Identifiable, Spawnable, Loggable {
+
+    public final static String LOAD_DUMP_FILE = "load.dump.file";
+    public final static String DUMP_STATE = "dump.state";
+    public final static String DUMP_EVERY = "dump.every";
+
+    // Experimental
+    public final static boolean TEST_CLONING = false;
+
 
     public MCMC(String id) {
         this.id = id;
@@ -141,17 +153,20 @@ public class MCMC implements Identifiable, Spawnable {
         //initialize transients
         currentState = 0;
 
-        // Does not seem to be in use (JH)
-/*
-        stepsPerReport = 1;
-        while ((getChainLength() / stepsPerReport) > 1000) {
-            stepsPerReport *= 2;
-        }*/
-
         for(MarkovChainDelegate delegate : delegates) {
             delegate.setup(options, schedule, mc);
         }
         this.delegates = delegates;
+
+        dumpStateFile = System.getProperty(LOAD_DUMP_FILE);
+        if (System.getProperty(DUMP_STATE) != null) {
+            long debugWriteState = Long.parseLong(System.getProperty(DUMP_STATE));
+            mc.addMarkovChainListener(new DebugChainListener(this, debugWriteState, false));
+        }
+        if (System.getProperty(DUMP_EVERY) != null) {
+            long debugWriteEvery = Long.parseLong(System.getProperty(DUMP_EVERY));
+            mc.addMarkovChainListener(new DebugChainListener(this, debugWriteEvery, true));
+        }
     }
 
     /**
@@ -196,9 +211,6 @@ public class MCMC implements Identifiable, Spawnable {
         chain();
     }
 
-    // Experimental
-    public final static boolean TEST_CLONING = false;
-
     /**
      * This method actually initiates the MCMC analysis.
      */
@@ -216,6 +228,20 @@ public class MCMC implements Identifiable, Spawnable {
         }
 
         if (!stopping) {
+            if (dumpStateFile != null) {
+                double[] savedLnL = new double[1];
+
+                long loadedState = DebugUtils.readStateFromFile(new File(dumpStateFile), savedLnL);
+
+                mc.setCurrentLength(loadedState);
+
+                double lnL = mc.evaluate();
+
+                if (lnL != savedLnL[0]) {
+                   throw new RuntimeException("Dumped lnL does not match loaded state");
+                }
+            }
+
             mc.addMarkovChainListener(chainListener);
 
             for(MarkovChainDelegate delegate : delegates) {
@@ -239,19 +265,17 @@ public class MCMC implements Identifiable, Spawnable {
 
             if (TEST_CLONING) {
                 // TEST Code for cloning the MarkovChain to a file to distribute amongst processors
-                for(MarkovChainDelegate delegate : delegates) {
-                    mc.removeMarkovChainDelegate(delegate);
-                }
-                mc.removeMarkovChainListener(chainListener);
+
+                double lnL1 = mc.getCurrentScore();
 
                 // Write the MarkovChain out and back in again...
-                writeMarkovChainToFile(new File("beast.clone"), mc);
-                mc = readMarkovChainFromFile(new File("beast.clone"));
+                DebugUtils.writeStateToFile(new File("beast.state"), currentState, mc.getCurrentScore());
+                DebugUtils.readStateFromFile(new File("beast.state"), null);
 
-                mc.addMarkovChainListener(chainListener);
+                double lnL2 = mc.evaluate();
 
-                for(MarkovChainDelegate delegate : delegates) {
-                    mc.addMarkovChainDelegate(delegate);
+                if (lnL1 != lnL2) {
+                    throw new RuntimeException("Likelihood different after state load");
                 }
                 // TEST Code end
             }
@@ -269,40 +293,36 @@ public class MCMC implements Identifiable, Spawnable {
         timer.stop();
     }
 
-    protected boolean writeMarkovChainToFile(File file, MarkovChain mc) {
-        OutputStream fileOut = null;
-        try {
-            fileOut = new FileOutputStream(file);
-            ObjectOutputStream out = new ObjectOutputStream(fileOut);
-            out.writeObject(mc);
-            out.close();
-            fileOut.close();
-        } catch (IOException ioe) {
-            System.err.println("Unable to write file: " + ioe.getMessage());
-        }
-        return true;
-    }
-
-    protected MarkovChain readMarkovChainFromFile(File file) {
-        MarkovChain mc = null;
-        try {
-            FileInputStream fileIn =
-                    new FileInputStream(file);
-            ObjectInputStream in = new ObjectInputStream(fileIn);
-            mc = (MarkovChain) in.readObject();
-            in.close();
-            fileIn.close();
-        } catch (IOException ioe) {
-            System.err.println("Unable to read file: " + ioe.getMessage());
-        } catch (ClassNotFoundException cnfe) {
-            System.err.println("Unable to read file: " + cnfe.getMessage());
-            cnfe.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
-        }
+    @Override
+    public LogColumn[] getColumns() {
+        return new LogColumn[] { new LogColumn() {
+            @Override
+            public void setLabel(String label) {
+            }
 
-        return mc;
+            @Override
+            public String getLabel() {
+                return "time";
+            }
+
+            @Override
+            public void setMinimumWidth(int minimumWidth) {
+
+            }
+
+            @Override
+            public int getMinimumWidth() {
+                return 0;
+            }
+
+            @Override
+            public String getFormatted() {
+                return Double.toString(getTimer().toSeconds());
+            }
+        }   };
     }
 
-    protected final MarkovChainListener chainListener = new MarkovChainListener() {
+    private final MarkovChainListener chainListener = new MarkovChainListener() {
 
         // MarkovChainListener interface *******************************************
         // for receiving messages from subordinate MarkovChain
@@ -384,22 +404,22 @@ public class MCMC implements Identifiable, Spawnable {
                 JointOperator jointOp = (JointOperator) op;
                 for (int k = 0; k < jointOp.getNumberOfSubOperators(); k++) {
                     out.println(formattedOperatorName(jointOp.getSubOperatorName(k))
-                            + formattedParameterString(jointOp.getSubOperator(k))
-                            + formattedCountString(op)
-                            + formattedTimeString(op)
-                            + formattedTimePerOpString(op)
-                            + formattedProbString(jointOp)
-                            + (options.useCoercion() ? "" : formattedDiagnostics(jointOp, MCMCOperator.Utils.getAcceptanceProbability(jointOp)))
+                                    + formattedParameterString(jointOp.getSubOperator(k))
+                                    + formattedCountString(op)
+                                    + formattedTimeString(op)
+                                    + formattedTimePerOpString(op)
+                                    + formattedProbString(jointOp)
+                                    + (options.useCoercion() ? "" : formattedDiagnostics(jointOp, MCMCOperator.Utils.getAcceptanceProbability(jointOp)))
                     );
                 }
             } else {
                 out.println(formattedOperatorName(op.getOperatorName())
-                        + formattedParameterString(op)
-                        + formattedCountString(op)
-                        + formattedTimeString(op)
-                        + formattedTimePerOpString(op)
-                        + formattedProbString(op)
-                        + (options.useCoercion() ? "" : formattedDiagnostics(op, MCMCOperator.Utils.getAcceptanceProbability(op)))
+                                + formattedParameterString(op)
+                                + formattedCountString(op)
+                                + formattedTimeString(op)
+                                + formattedTimePerOpString(op)
+                                + formattedProbString(op)
+                                + (options.useCoercion() ? "" : formattedDiagnostics(op, MCMCOperator.Utils.getAcceptanceProbability(op)))
                 );
             }
 
@@ -585,6 +605,8 @@ public class MCMC implements Identifiable, Spawnable {
 
     // PRIVATE TRANSIENTS
 
+    private String dumpStateFile = null;
+
     //private FileLogger operatorLogger = null;
     protected final boolean isAdapting = true;
     protected boolean stopping = false;
diff --git a/src/dr/inference/mcmc/MCMCCriterion.java b/src/dr/inference/mcmc/MCMCCriterion.java
index fb595cc..87e55cf 100644
--- a/src/dr/inference/mcmc/MCMCCriterion.java
+++ b/src/dr/inference/mcmc/MCMCCriterion.java
@@ -1,7 +1,7 @@
 /*
  * MCMCCriterion.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/mcmc/MCMCOptions.java b/src/dr/inference/mcmc/MCMCOptions.java
index 4ca4eb1..42772ea 100644
--- a/src/dr/inference/mcmc/MCMCOptions.java
+++ b/src/dr/inference/mcmc/MCMCOptions.java
@@ -1,7 +1,7 @@
 /*
  * MCMCOptions.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/mcmc/MarginalLikelihoodEstimator.java b/src/dr/inference/mcmc/MarginalLikelihoodEstimator.java
index 70389b7..5178b8d 100644
--- a/src/dr/inference/mcmc/MarginalLikelihoodEstimator.java
+++ b/src/dr/inference/mcmc/MarginalLikelihoodEstimator.java
@@ -1,7 +1,7 @@
 /*
  * MarginalLikelihoodEstimator.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/mcmcmc/MCMCMC.java b/src/dr/inference/mcmcmc/MCMCMC.java
index f173e44..3541267 100644
--- a/src/dr/inference/mcmcmc/MCMCMC.java
+++ b/src/dr/inference/mcmcmc/MCMCMC.java
@@ -1,7 +1,7 @@
 /*
  * MCMCMC.java
  *
- * Copyright (C) 2002-2007 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -376,54 +376,6 @@ public class MCMCMC implements Runnable {
         }
     }
 
-    public class BurninListener implements MarkovChainListener {
-
-        public BurninListener(long stateCount) {
-            this.stateCount = stateCount;
-            step = 0;
-            stepSize = (double) stateCount / 60.0;
-        }
-
-        /**
-         * Called to update the current model keepEvery states.
-         */
-        public synchronized void currentState(long state, Model currentModel) {
-
-            if (state == 0) {
-                System.out.println();
-                System.out.println("Pre-burnin (" + stateCount + " states)");
-                System.out.println("0              25             50             75            100");
-                System.out.println("|--------------|--------------|--------------|--------------|");
-                System.out.print("*");
-                step = 1;
-            }
-
-            if (state >= (int) Math.round(step * stepSize) && step <= 60) {
-                System.out.print("*");
-                System.out.flush();
-                step += 1;
-            }
-        }
-
-        /**
-         * Called when a new new best posterior state is found.
-         */
-        public synchronized void bestState(long state, Model bestModel) {
-        }
-
-        /**
-         * cleans up when the chain finishes (possibly early).
-         */
-        public synchronized void finished(long chainLength) {
-            System.out.println("*");
-            System.out.println();
-        }
-
-        long stateCount = 0;
-        double stepSize;
-        int step = 0;
-    }
-
     private final MarkovChainListener chainListener = new MarkovChainListener() {
 
         // MarkovChainListener interface *******************************************
diff --git a/src/dr/inference/mcmcmc/MCMCMCOptions.java b/src/dr/inference/mcmcmc/MCMCMCOptions.java
index 100a5ba..a27b99a 100644
--- a/src/dr/inference/mcmcmc/MCMCMCOptions.java
+++ b/src/dr/inference/mcmcmc/MCMCMCOptions.java
@@ -1,7 +1,7 @@
 /*
  * MCMCMCOptions.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/mcmcmc/MCMCMCRunner.java b/src/dr/inference/mcmcmc/MCMCMCRunner.java
index b74bec9..e3a85ba 100644
--- a/src/dr/inference/mcmcmc/MCMCMCRunner.java
+++ b/src/dr/inference/mcmcmc/MCMCMCRunner.java
@@ -1,7 +1,7 @@
 /*
  * MCMCMCRunner.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/ml/GreatDelugeCriterion.java b/src/dr/inference/ml/GreatDelugeCriterion.java
index ef627b6..00d5154 100644
--- a/src/dr/inference/ml/GreatDelugeCriterion.java
+++ b/src/dr/inference/ml/GreatDelugeCriterion.java
@@ -1,7 +1,7 @@
 /*
  * GreatDelugeCriterion.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/ml/HillClimbingCriterion.java b/src/dr/inference/ml/HillClimbingCriterion.java
index 55d94fa..0f14384 100644
--- a/src/dr/inference/ml/HillClimbingCriterion.java
+++ b/src/dr/inference/ml/HillClimbingCriterion.java
@@ -1,7 +1,7 @@
 /*
  * HillClimbingCriterion.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/ml/MLOptimizer.java b/src/dr/inference/ml/MLOptimizer.java
index 9233572..3569b5a 100644
--- a/src/dr/inference/ml/MLOptimizer.java
+++ b/src/dr/inference/ml/MLOptimizer.java
@@ -1,7 +1,7 @@
 /*
  * MLOptimizer.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/AbstractModel.java b/src/dr/inference/model/AbstractModel.java
index fa0bd42..c09cd7c 100644
--- a/src/dr/inference/model/AbstractModel.java
+++ b/src/dr/inference/model/AbstractModel.java
@@ -1,7 +1,7 @@
 /*
  * AbstractModel.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/model/AbstractModelLikelihood.java b/src/dr/inference/model/AbstractModelLikelihood.java
index d281676..cc0fcae 100644
--- a/src/dr/inference/model/AbstractModelLikelihood.java
+++ b/src/dr/inference/model/AbstractModelLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * AbstractModelLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import dr.inference.loggers.LogColumn;
diff --git a/src/dr/inference/model/BayesianStochasticSearchVariableSelection.java b/src/dr/inference/model/BayesianStochasticSearchVariableSelection.java
index 849b83f..73d63ca 100644
--- a/src/dr/inference/model/BayesianStochasticSearchVariableSelection.java
+++ b/src/dr/inference/model/BayesianStochasticSearchVariableSelection.java
@@ -1,3 +1,28 @@
+/*
+ * BayesianStochasticSearchVariableSelection.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import cern.colt.bitvector.BitVector;
diff --git a/src/dr/inference/model/BlockDiagonalMatrixParameter.java b/src/dr/inference/model/BlockDiagonalMatrixParameter.java
index 7486b87..e3228cb 100644
--- a/src/dr/inference/model/BlockDiagonalMatrixParameter.java
+++ b/src/dr/inference/model/BlockDiagonalMatrixParameter.java
@@ -1,7 +1,7 @@
 /*
  * BlockDiagonalMatrixParameter.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/BlockUpperTriangularMatrixParameter.java b/src/dr/inference/model/BlockUpperTriangularMatrixParameter.java
index 98282b8..6304b62 100644
--- a/src/dr/inference/model/BlockUpperTriangularMatrixParameter.java
+++ b/src/dr/inference/model/BlockUpperTriangularMatrixParameter.java
@@ -1,3 +1,28 @@
+/*
+ * BlockUpperTriangularMatrixParameter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 /*
@@ -137,7 +162,7 @@ public class BlockUpperTriangularMatrixParameter extends MatrixParameter {
 
  //test if violates matrix condition
     boolean matrixCondition(int row, int col){
-            return row>=(getColumnDimension()-1-col);
+            return row>=(col);
     }
 
     public double getParameterValue(int id){
@@ -175,7 +200,7 @@ public class BlockUpperTriangularMatrixParameter extends MatrixParameter {
     }
 
     protected int getInnerDimension(int row, int col){
-        return row-(getColumnDimension()-1-col);
+        return row;
     }
 
 
diff --git a/src/dr/inference/model/BooleanLikelihood.java b/src/dr/inference/model/BooleanLikelihood.java
index f191d16..7df2ae3 100644
--- a/src/dr/inference/model/BooleanLikelihood.java
+++ b/src/dr/inference/model/BooleanLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * BooleanLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/BooleanStatistic.java b/src/dr/inference/model/BooleanStatistic.java
index e314e2f..578d6ad 100644
--- a/src/dr/inference/model/BooleanStatistic.java
+++ b/src/dr/inference/model/BooleanStatistic.java
@@ -1,7 +1,7 @@
 /*
  * BooleanStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/Bounds.java b/src/dr/inference/model/Bounds.java
index 822e478..dcd304b 100644
--- a/src/dr/inference/model/Bounds.java
+++ b/src/dr/inference/model/Bounds.java
@@ -1,7 +1,7 @@
 /*
  * Bounds.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/CompoundLikelihood.java b/src/dr/inference/model/CompoundLikelihood.java
index 782f63a..9bf1668 100644
--- a/src/dr/inference/model/CompoundLikelihood.java
+++ b/src/dr/inference/model/CompoundLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * CompoundLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -25,6 +25,7 @@
 
 package dr.inference.model;
 
+import dr.app.beagle.evomodel.branchmodel.lineagespecific.BeagleBranchLikelihood;
 import dr.util.NumberFormatter;
 import dr.xml.Reportable;
 
@@ -104,14 +105,26 @@ public class CompoundLikelihood implements Likelihood, Reportable {
         }
     }
 
+//    public CompoundLikelihood(BeagleBranchLikelihoods bbl) {
+//
+//        pool = null;
+//        threadCount = 0;
+//        evaluationTimes = null;
+//        evaluationCounts = null;
+//        
+//    }
+    
     protected void addLikelihood(Likelihood likelihood, int index, boolean addToPool) {
 
         // unroll any compound likelihoods
         if (UNROLL_COMPOUND && addToPool && likelihood instanceof CompoundLikelihood) {
+        	
             for (Likelihood l : ((CompoundLikelihood)likelihood).getLikelihoods()) {
                 addLikelihood(l, index, addToPool);
             }
+            
         } else {
+        	
             if (!likelihoods.contains(likelihood)) {
 
                 likelihoods.add(likelihood);
@@ -120,8 +133,11 @@ public class CompoundLikelihood implements Likelihood, Reportable {
                 }
 
                 if (likelihood.evaluateEarly()) {
+                	
                     earlyLikelihoods.add(likelihood);
+                    
                 } else {
+                	
                     // late likelihood list is used to evaluate them if the thread pool is not being used...
                     lateLikelihoods.add(likelihood);
 
@@ -129,9 +145,17 @@ public class CompoundLikelihood implements Likelihood, Reportable {
                         likelihoodCallers.add(new LikelihoodCaller(likelihood, index));
                     }
                 }
-            }
-        }
-    }
+                
+//            } else {
+            	
+            	//TODO: hack in branch likes here
+//            	likelihoods.add(likelihood);
+            	
+            }// END: contains check
+            
+        }//END: if unroll check
+        
+    }//END: addLikelihood
 
     public int getLikelihoodCount() {
         return likelihoods.size();
diff --git a/src/dr/inference/model/CompoundMatrixParameter.java b/src/dr/inference/model/CompoundMatrixParameter.java
new file mode 100644
index 0000000..64529ad
--- /dev/null
+++ b/src/dr/inference/model/CompoundMatrixParameter.java
@@ -0,0 +1,100 @@
+/*
+ * CompoundMatrixParameter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inference.model;
+
+import dr.xml.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Marc A. Suchard
+ */
+public class CompoundMatrixParameter extends MatrixParameter {
+
+    public CompoundMatrixParameter(String name, List<MatrixParameter> matrices) {
+        super(name, compoundMatrices(matrices));
+    }
+
+    private static Parameter[] compoundMatrices(List<MatrixParameter> matrices) {
+        int length = 0;
+        for (MatrixParameter matrix : matrices) {
+            length += matrix.getColumnDimension();
+        }
+
+        Parameter[] parameters = new Parameter[length];
+        int index = 0;
+        for (MatrixParameter matrix : matrices) {
+            for (int i = 0; i < matrix.getColumnDimension(); ++i) {
+                parameters[index] = matrix.getParameter(i);
+                ++index;
+            }
+        }
+        return parameters;
+    }
+
+    public final static String COMPOUND_MATRIX_PARAMETER = "compoundMatrixParameter";
+
+    public static XMLObjectParser PARSER = new AbstractXMLObjectParser() {
+
+        public String getParserName() {
+            return COMPOUND_MATRIX_PARAMETER;
+        }
+
+        public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+
+            List<MatrixParameter> matrices = new ArrayList<MatrixParameter>();
+
+            for (int i = 0; i < xo.getChildCount(); ++i) {
+                matrices.add((MatrixParameter) xo.getChild(i));
+            }
+
+            final String name = xo.hasId() ? xo.getId() : null;
+
+            return new CompoundMatrixParameter(name, matrices);
+        }
+
+        //************************************************************************
+        // AbstractXMLObjectParser implementation
+        //************************************************************************
+
+        public String getParserDescription() {
+            return "A compound matrix parameter constructed from its component parameters.";
+        }
+
+        public XMLSyntaxRule[] getSyntaxRules() {
+            return rules;
+        }
+
+        private final XMLSyntaxRule[] rules = {
+                new ElementRule(MatrixParameter.class, 1, Integer.MAX_VALUE),
+        };
+
+        public Class getReturnType() {
+            return CompoundMatrixParameter.class;
+        }
+    };
+}
diff --git a/src/dr/inference/model/CompoundModel.java b/src/dr/inference/model/CompoundModel.java
index 982e067..b37ce9e 100644
--- a/src/dr/inference/model/CompoundModel.java
+++ b/src/dr/inference/model/CompoundModel.java
@@ -1,7 +1,7 @@
 /*
  * CompoundModel.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/CompoundParameter.java b/src/dr/inference/model/CompoundParameter.java
index 5416efa..9490dff 100644
--- a/src/dr/inference/model/CompoundParameter.java
+++ b/src/dr/inference/model/CompoundParameter.java
@@ -1,7 +1,7 @@
 /*
  * CompoundParameter.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -123,7 +123,7 @@ public class CompoundParameter extends Parameter.Abstract implements VariableLis
         return uniqueParameters.size();
     }
 
-    public final String getDimensionName(int dim) {
+    public String getDimensionName(int dim) {
         return parameters.get(dim).getDimensionName(pindex.get(dim));
     }
 
@@ -186,9 +186,12 @@ public class CompoundParameter extends Parameter.Abstract implements VariableLis
     }
 
     public void fireParameterChangedEvent() {
+        doNotPropogateChangeUp = true;
         for (Parameter p : parameters) {
             p.fireParameterChangedEvent();
         }
+        doNotPropogateChangeUp = false;
+        fireParameterChangedEvent(-1, ChangeType.ALL_VALUES_CHANGED);
     }
 
     public double getParameterValue(int dim) {
@@ -271,7 +274,9 @@ public class CompoundParameter extends Parameter.Abstract implements VariableLis
         int dim = 0;
         for (Parameter parameter1 : uniqueParameters) {
             if (variable == parameter1) {
-                fireParameterChangedEvent(dim + index, type);
+                if (!doNotPropogateChangeUp) {
+                    fireParameterChangedEvent(dim + index, type);
+                }
                 break;
             }
             dim += parameter1.getDimension();
@@ -309,6 +314,8 @@ public class CompoundParameter extends Parameter.Abstract implements VariableLis
     private int dimension;
     private String name;
 
+    private boolean doNotPropogateChangeUp = false;
+
     public static void main(String[] args) {
 
         Parameter param1 = new Parameter.Default(2);
diff --git a/src/dr/inference/model/CompoundSymmetricMatrix.java b/src/dr/inference/model/CompoundSymmetricMatrix.java
index 989b03c..113f0da 100644
--- a/src/dr/inference/model/CompoundSymmetricMatrix.java
+++ b/src/dr/inference/model/CompoundSymmetricMatrix.java
@@ -1,3 +1,28 @@
+/*
+ * CompoundSymmetricMatrix.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 /**
diff --git a/src/dr/inference/model/ConstantLikelihood.java b/src/dr/inference/model/ConstantLikelihood.java
index a62871c..44dc9bd 100644
--- a/src/dr/inference/model/ConstantLikelihood.java
+++ b/src/dr/inference/model/ConstantLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * ConstantLikelihood.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/CopyParameterValuesParser.java b/src/dr/inference/model/CopyParameterValuesParser.java
new file mode 100644
index 0000000..a96a8d4
--- /dev/null
+++ b/src/dr/inference/model/CopyParameterValuesParser.java
@@ -0,0 +1,94 @@
+/*
+ * ResetParameterParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inference.model;
+
+import dr.inference.trace.LogFileTraces;
+import dr.inference.trace.TraceException;
+import dr.math.MathUtils;
+import dr.math.distributions.Distribution;
+import dr.xml.*;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Resets a multi-dimensional continuous parameter.
+ * 
+ * @author Marc A. Suchard
+ *
+ */
+public class CopyParameterValuesParser extends AbstractXMLObjectParser {
+
+    public static final String RESET_PARAMETER = "copyParameterValues";
+    public static final String SOURCE = "source";
+    public static final String DESTINATION = "destination";
+
+    public String getParserName() {
+        return RESET_PARAMETER;
+    }
+
+    public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+
+        Parameter source = (Parameter) xo.getChild(SOURCE).getChild(Parameter.class);
+        Parameter destination = (Parameter) xo.getChild(DESTINATION).getChild(Parameter.class);
+
+        if (source.getDimension() != destination.getDimension()) {
+            throw new XMLParseException("Source (" + source.getDimension() + ") and destination (" +
+                    destination.getDimension() + ") dimensions do not match");
+        }
+
+        for (int i = 0; i < source.getDimension(); ++i) {
+            destination.setParameterValueQuietly(i, source.getParameterValue(i));
+        }
+        destination.fireParameterChangedEvent();
+
+        return destination;
+    }
+
+    public XMLSyntaxRule[] getSyntaxRules() {
+        return rules;
+    }
+
+    private final XMLSyntaxRule[] rules = {
+            new ElementRule(SOURCE, new XMLSyntaxRule[] {
+                    new ElementRule(Parameter.class),
+            }),
+            new ElementRule(DESTINATION, new XMLSyntaxRule[] {
+                    new ElementRule(Parameter.class),
+            }),
+    };
+
+
+    public String getParserDescription() {
+        return "Copy parameter values from source to destination";
+    }
+
+    public Class getReturnType() {
+        return Parameter.class;
+    }
+
+}
diff --git a/src/dr/inference/model/CorrelationStatistic.java b/src/dr/inference/model/CorrelationStatistic.java
index 83dee4f..e25968c 100644
--- a/src/dr/inference/model/CorrelationStatistic.java
+++ b/src/dr/inference/model/CorrelationStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * CorrelationStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import dr.math.matrixAlgebra.SymmetricMatrix;
diff --git a/src/dr/inference/model/CoulombPrior.java b/src/dr/inference/model/CoulombPrior.java
index 4a06f9f..938e37e 100644
--- a/src/dr/inference/model/CoulombPrior.java
+++ b/src/dr/inference/model/CoulombPrior.java
@@ -1,7 +1,7 @@
 /*
- * OneOnXPrior.java
+ * CoulombPrior.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/DecomposedMatrix.java b/src/dr/inference/model/DecomposedMatrix.java
index 5cd8d39..0ad7ccf 100644
--- a/src/dr/inference/model/DecomposedMatrix.java
+++ b/src/dr/inference/model/DecomposedMatrix.java
@@ -1,3 +1,28 @@
+/*
+ * DecomposedMatrix.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import dr.xml.*;
diff --git a/src/dr/inference/model/DefaultModel.java b/src/dr/inference/model/DefaultModel.java
index dacdba8..0929124 100644
--- a/src/dr/inference/model/DefaultModel.java
+++ b/src/dr/inference/model/DefaultModel.java
@@ -1,7 +1,7 @@
 /*
  * DefaultModel.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/DesignMatrix.java b/src/dr/inference/model/DesignMatrix.java
index 6071323..1675dd2 100644
--- a/src/dr/inference/model/DesignMatrix.java
+++ b/src/dr/inference/model/DesignMatrix.java
@@ -1,7 +1,7 @@
 /*
  * DesignMatrix.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/DiagonalMatrix.java b/src/dr/inference/model/DiagonalMatrix.java
index cd37ab9..215c8a6 100644
--- a/src/dr/inference/model/DiagonalMatrix.java
+++ b/src/dr/inference/model/DiagonalMatrix.java
@@ -1,7 +1,7 @@
 /*
  * DiagonalMatrix.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/DifferenceMatrixParameter.java b/src/dr/inference/model/DifferenceMatrixParameter.java
new file mode 100644
index 0000000..271e695
--- /dev/null
+++ b/src/dr/inference/model/DifferenceMatrixParameter.java
@@ -0,0 +1,251 @@
+/*
+ * DifferenceMatrixParameter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inference.model;
+
+import java.util.List;
+
+import dr.inference.model.Bounds;
+import dr.inference.model.Parameter;
+import dr.inference.model.Variable;
+import dr.inference.model.VariableListener;
+
+public class DifferenceMatrixParameter extends MatrixParameter implements
+        VariableListener{
+
+    private Parameter parameter1;
+    private Parameter parameter2;
+    private Bounds bounds = null;
+
+    public DifferenceMatrixParameter(Parameter parameter1, Parameter parameter2) {
+        super(null);
+
+        this.parameter1 = parameter1;
+        this.parameter2 = parameter2;
+
+        this.parameter1.addVariableListener(this);
+        this.parameter2.addVariableListener(this);
+
+    }// END: Constructor
+
+    @Override
+    public double getParameterValue(int dim) {
+        double value=0;
+        if(dim<Math.max(parameter1.getDimension(),parameter2.getDimension()))
+        {
+            if(parameter1.getDimension()==parameter2.getDimension())  {
+                value = parameter1.getParameterValue(dim)
+                        - parameter2.getParameterValue(dim);                   }
+            else if(parameter1.getDimension()<parameter2.getDimension()){
+                value=parameter1.getParameterValue(dim%parameter1.getDimension())-parameter2.getParameterValue(dim);
+
+            }
+            else
+                value=parameter1.getParameterValue(dim)-parameter2.getParameterValue(dim% parameter2.getDimension());
+        }
+        else {
+            System.out.println(dim);
+            throw new RuntimeException("Index out of bounds.");
+        }
+        return value;
+    }// END: getParameterValue
+
+    public double getParameterValue(int row, int col){
+        double val1;
+        double val2;
+        if(parameter1 instanceof MatrixParameter){
+            val1=((MatrixParameter) parameter1).getParameterValue(row, col);
+        }
+        else{
+            val1=getParameterValue(row);
+        }
+        if(parameter2 instanceof MatrixParameter){
+            val2=((MatrixParameter) parameter2).getParameterValue(row, col);
+        }
+        else{
+            val2=getParameterValue(row);
+        }
+        return val1-val2;
+    }
+
+    public int getParameterCount(){
+        int pcount1=1;
+        int pcount2=1;
+        if(parameter1 instanceof MatrixParameter){
+            pcount1=((MatrixParameter) parameter1).getParameterCount();
+        }
+        if(parameter2 instanceof MatrixParameter){
+            pcount2=((MatrixParameter) parameter2).getParameterCount();
+        }
+        return Math.max(pcount1, pcount2);
+    }
+
+    @Override
+    public Parameter getParameter(int index) {
+        Parameter tempParam1;
+        Parameter tempParam2;
+        if(parameter1 instanceof CompoundParameter){
+            tempParam1=((CompoundParameter) parameter1).getParameter(index);
+        }
+        else{
+            tempParam1=parameter1;
+        }
+        if(parameter2 instanceof CompoundParameter){
+            tempParam2=((CompoundParameter) parameter2).getParameter(index);
+        }
+        else{
+            tempParam2=parameter2;
+        }
+        return new DifferenceMatrixParameter(tempParam1, tempParam2);
+    }
+
+    @Override
+    public void setParameterValue(int dim, double value) {
+        throw new RuntimeException("Not implemented");
+    }
+
+    @Override
+    public void setParameterValueQuietly(int dim, double value) {
+        throw new RuntimeException("Not implemented");
+    }
+
+    @Override
+    public void setParameterValueNotifyChangedAll(int dim, double value) {
+        throw new RuntimeException("Not implemented");
+    }
+
+//    @Override
+//    public String getParameterName() {
+//        if (getId() == null) {
+//
+//            StringBuilder sb = new StringBuilder("ratio");
+//            sb.append(parameter1.getId()).append(".")
+//                    .append(parameter2.getId());
+//            setId(sb.toString());
+//        }
+//
+//        return getId();
+//    }// END: getParameterName
+
+
+    @Override
+    public int getDimension() {
+        return Math.max(parameter1.getDimension(), parameter2.getDimension());
+    }
+
+    @Override
+    public void addBounds(Bounds<Double> bounds) {
+        this.bounds = bounds;
+    }
+
+    @Override
+    public Bounds<Double> getBounds() {
+        return bounds;
+    }
+
+    @Override
+    public void addDimension(int index, double value) {
+        throw new RuntimeException("Not yet implemented.");
+    }
+
+    @Override
+    public double removeDimension(int index) {
+        throw new RuntimeException("Not yet implemented.");
+    }
+
+    @Override
+    public void variableChangedEvent(Variable variable, int index,
+                                     dr.inference.model.Variable.ChangeType type) {
+        fireParameterChangedEvent(index, type);
+    }
+
+    @Override
+    protected void storeValues() {
+        parameter1.storeParameterValues();
+        parameter2.storeParameterValues();
+    }
+
+    @Override
+    protected void restoreValues() {
+        parameter1.restoreParameterValues();
+        parameter2.restoreParameterValues();
+    }
+
+    @Override
+    public int getRowDimension() {
+        boolean param1 = parameter1 instanceof MatrixParameter;
+        boolean param2 = parameter2 instanceof MatrixParameter;
+        System.out.println("row");
+        if (param1 & param2) {
+            if (((MatrixParameter) parameter1).getRowDimension() == ((MatrixParameter) parameter2).getRowDimension()) {
+                return ((MatrixParameter) parameter1).getRowDimension();
+            } else {
+                throw new RuntimeException("parameters not of the same length");
+            }
+        } else if (param1) {
+            return ((MatrixParameter) parameter1).getRowDimension();
+        } else if (param2) {
+            return ((MatrixParameter) parameter2).getRowDimension();
+        } else {
+            return parameter1.getDimension();
+        }
+    }
+
+    @Override
+    public int getColumnDimension(){
+        System.out.println("column");
+        boolean param1=parameter1 instanceof MatrixParameter;
+        boolean param2=parameter2 instanceof MatrixParameter;
+        if(param1 & param2){
+            if(((MatrixParameter)parameter1).getColumnDimension()==((MatrixParameter)parameter2).getColumnDimension()){
+                return ((MatrixParameter)parameter1).getColumnDimension();
+            }
+            else{
+                throw new RuntimeException("parameters not of the same length");
+            }
+        }
+        else if(param1) {
+            return ((MatrixParameter) parameter1).getColumnDimension();
+        }
+        else if(param2){
+            return ((MatrixParameter)parameter2).getColumnDimension();
+        }
+        else{
+            return 1;
+        }
+    }
+
+//    @Override
+//    protected void acceptValues() {
+//        parameter1.acceptParameterValues();
+//        parameter2.acceptParameterValues();
+//    }
+//
+//    @Override
+//    protected void adoptValues(Parameter source) {
+//        throw new RuntimeException("Not implemented");
+//    }
+
+}// END: class
diff --git a/src/dr/inference/model/DifferenceParameter.java b/src/dr/inference/model/DifferenceParameter.java
new file mode 100644
index 0000000..a6f4ab2
--- /dev/null
+++ b/src/dr/inference/model/DifferenceParameter.java
@@ -0,0 +1,129 @@
+/*
+ * ProductParameter.java
+ *
+ * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inference.model;
+
+import java.util.List;
+
+/**
+ * @author Marc Suchard
+ */
+public class DifferenceParameter extends Parameter.Abstract implements VariableListener {
+
+    public DifferenceParameter(List<Parameter> parameter) {
+        this.paramList = parameter;
+        for (Parameter p : paramList) {
+            p.addVariableListener(this);
+        }
+    }
+
+    public int getDimension() {
+        return paramList.get(0).getDimension();
+    }
+
+    protected void storeValues() {
+        for (Parameter p : paramList) {
+            p.storeParameterValues();
+        }
+    }
+
+    protected void restoreValues() {
+        for (Parameter p : paramList) {
+            p.restoreParameterValues();
+        }
+    }
+
+    protected void acceptValues() {
+        for (Parameter p : paramList) {
+            p.acceptParameterValues();
+        }
+    }
+
+    protected void adoptValues(Parameter source) {
+        throw new RuntimeException("Not implemented");
+    }
+
+    public double getParameterValue(int dim) {
+        double value = 0;
+        for (int i = 0; i < paramList.size(); i++) {
+            if (i == 0){
+                value = paramList.get(i).getParameterValue(dim);
+            } else {
+                value -= paramList.get(i).getParameterValue(dim);
+            }
+        }
+        return value;
+    }
+
+    public void setParameterValue(int dim, double value) {
+        throw new RuntimeException("Not implemented");
+    }
+
+    public void setParameterValueQuietly(int dim, double value) {
+        throw new RuntimeException("Not implemented");
+    }
+
+    public void setParameterValueNotifyChangedAll(int dim, double value){
+        throw new RuntimeException("Not implemented");
+    }
+
+    public String getParameterName() {
+        if (getId() == null) {
+            StringBuilder sb = new StringBuilder("difference");
+            for (Parameter p : paramList) {
+                sb.append(".").append(p.getId());
+            }
+            setId(sb.toString());
+        }
+        return getId();
+    }
+
+    public void addBounds(Bounds bounds) {
+        this.bounds = bounds;
+    }
+
+    public Bounds<Double> getBounds() {
+        if (bounds == null) {
+            return paramList.get(0).getBounds(); // TODO
+        } else {
+            return bounds;
+        }
+    }
+
+    public void addDimension(int index, double value) {
+        throw new RuntimeException("Not yet implemented.");
+    }
+
+    public double removeDimension(int index) {
+        throw new RuntimeException("Not yet implemented.");
+    }
+
+    public void variableChangedEvent(Variable variable, int index, ChangeType type) {
+        fireParameterChangedEvent(index,type);
+    }
+
+    private final List<Parameter> paramList;
+    private Bounds bounds = null;
+}
diff --git a/src/dr/inference/model/DifferenceStatistic.java b/src/dr/inference/model/DifferenceStatistic.java
index fcf49a0..552f718 100644
--- a/src/dr/inference/model/DifferenceStatistic.java
+++ b/src/dr/inference/model/DifferenceStatistic.java
@@ -1,7 +1,7 @@
 /*
- * ProductStatistic.java
+ * DifferenceStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/DummyLikelihood.java b/src/dr/inference/model/DummyLikelihood.java
index 6701bfe..4fcc4fe 100644
--- a/src/dr/inference/model/DummyLikelihood.java
+++ b/src/dr/inference/model/DummyLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * DummyLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/DuplicatedParameter.java b/src/dr/inference/model/DuplicatedParameter.java
index e079c7d..94af553 100644
--- a/src/dr/inference/model/DuplicatedParameter.java
+++ b/src/dr/inference/model/DuplicatedParameter.java
@@ -1,3 +1,28 @@
+/*
+ * DuplicatedParameter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 /**
diff --git a/src/dr/inference/model/EqualityConstrainedParameter.java b/src/dr/inference/model/EqualityConstrainedParameter.java
index a53806c..5769969 100644
--- a/src/dr/inference/model/EqualityConstrainedParameter.java
+++ b/src/dr/inference/model/EqualityConstrainedParameter.java
@@ -1,7 +1,7 @@
 /*
  * EqualityConstrainedParameter.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/EqualityConstraintModel.java b/src/dr/inference/model/EqualityConstraintModel.java
index 2448473..8007465 100644
--- a/src/dr/inference/model/EqualityConstraintModel.java
+++ b/src/dr/inference/model/EqualityConstraintModel.java
@@ -1,7 +1,7 @@
 /*
  * EqualityConstraintModel.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/ExponentialStatistic.java b/src/dr/inference/model/ExponentialStatistic.java
index 66abfc1..4cf27b8 100644
--- a/src/dr/inference/model/ExponentialStatistic.java
+++ b/src/dr/inference/model/ExponentialStatistic.java
@@ -1,7 +1,7 @@
 /*
  * ExponentialStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/ExpressionStatistic.java b/src/dr/inference/model/ExpressionStatistic.java
index 2987366..9513633 100644
--- a/src/dr/inference/model/ExpressionStatistic.java
+++ b/src/dr/inference/model/ExpressionStatistic.java
@@ -1,7 +1,7 @@
 /*
  * ExpressionStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/FiniteSetParameter.java b/src/dr/inference/model/FiniteSetParameter.java
index c7e7ac0..498af37 100644
--- a/src/dr/inference/model/FiniteSetParameter.java
+++ b/src/dr/inference/model/FiniteSetParameter.java
@@ -1,7 +1,7 @@
 /*
  * FiniteSetParameter.java
  *
- * Copyright (C) 2002-2010 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/model/IndianBuffetProcessPrior.java b/src/dr/inference/model/IndianBuffetProcessPrior.java
new file mode 100644
index 0000000..09a8aa1
--- /dev/null
+++ b/src/dr/inference/model/IndianBuffetProcessPrior.java
@@ -0,0 +1,233 @@
+/*
+ * IndianBuffetProcessPrior.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inference.model;
+
+
+import org.apache.commons.math.special.Beta;
+
+/**
+ * @author Max Tolkoff
+ */
+public class IndianBuffetProcessPrior extends AbstractModelLikelihood {
+
+    public IndianBuffetProcessPrior(Parameter alpha, Parameter beta, MatrixParameter data) {
+        super(null);
+        this.alpha=alpha;
+        alpha.addBounds(new Parameter.DefaultBounds(Double.POSITIVE_INFINITY, 0, 1));
+        addVariable(alpha);
+        this.beta=beta;
+        beta.addBounds(new Parameter.DefaultBounds(Double.POSITIVE_INFINITY, 0, 1));
+        addVariable(beta);
+        this.data=data;
+        addVariable(data);
+    }
+
+    private int factorial(int num){
+        if(num<0){
+            throw new RuntimeException("Cannot take a negative factorial");
+        }
+        else if(num==0){
+            return 1;
+        }
+        else
+        {
+            int fac=1;
+            for (int i = 0; i <num ; i++) {
+                fac*=(i+1);
+            }
+            return fac;
+        }
+    }
+
+    private double H(){
+        if(!betaKnown) {
+            H = 0;
+            for (int i = 0; i < data.getRowDimension(); i++) {
+                H += beta.getParameterValue(0) / (beta.getParameterValue(0) + i);
+            }
+        }
+        return H;
+    }
+
+    @Override
+    protected void handleModelChangedEvent(Model model, Object object, int index) {
+
+    }
+
+    @Override
+    protected void handleVariableChangedEvent(Variable variable, int index, Parameter.ChangeType type) {
+        likelihoodKnown=false;
+        if(variable==beta)
+            betaKnown=false;
+        if(variable==data)
+            dataKnown=false;
+
+    }
+
+    @Override
+    protected void storeState() {
+        storedBetaKnown=betaKnown;
+        storedContainsNonZeroElements=containsNonZeroElements;
+        storedDataKnown=dataKnown;
+        storedLikelihoodKnown=likelihoodKnown;
+        storedLogLikelihood=logLikelihood;
+        storedRowCount=rowCount;
+        storedKPlus=KPlus;
+        storedH=H;
+        storedBottom=bottom;
+        storedSum2=sum2;
+
+    }
+
+    @Override
+    protected void restoreState() {
+        betaKnown=storedBetaKnown;
+        containsNonZeroElements=storedContainsNonZeroElements;
+        dataKnown=storedDataKnown;
+        likelihoodKnown=storedLikelihoodKnown;
+        logLikelihood=storedLogLikelihood;
+        rowCount=storedRowCount;
+        KPlus=storedKPlus;
+        H=storedH;
+        bottom=storedBottom;
+        sum2=storedSum2;
+    }
+
+    @Override
+    protected void acceptState() {
+
+    }
+
+    @Override
+    public Model getModel() {
+        return this;
+    }
+
+    @Override
+    public double getLogLikelihood() {
+        if(!likelihoodKnown){
+        logLikelihood=calculateLogLikelihood();
+            likelihoodKnown=true;
+        }
+        return logLikelihood;
+    }
+
+    private double calculateLogLikelihood(){
+
+        int sum;
+
+        if(!dataKnown) {
+            bottom=1;
+            boolean[] isExplored= new boolean[data.getColumnDimension()];
+            containsNonZeroElements = new boolean[data.getColumnDimension()];
+            rowCount = new int[data.getColumnDimension()];
+            boolean same;
+            for (int i = 0; i < data.getRowDimension(); i++) {
+                if (data.getParameterValue(i, 0) != 0)
+                    containsNonZeroElements[0] = true;
+            }
+            for (int i = 0; i < data.getColumnDimension(); i++) {
+                sum = 1;
+                if (!isExplored[i]) {
+                    for (int j = i + 1; j < data.getColumnDimension(); j++) {
+                        same = true;
+                        if (!isExplored[j]) {
+                            for (int k = 0; k < data.getRowDimension(); k++) {
+                                if (data.getParameterValue(k, i) != data.getParameterValue(k, j))
+                                    same = false;
+                                if (data.getParameterValue(k, j) != 0) {
+                                    containsNonZeroElements[j] = true;
+                                }
+//                        rowCount[j]+=data.getParameterValue(k,j);
+                            }
+                        }
+                        if (same && containsNonZeroElements[j]) {
+                            isExplored[j] = true;
+                            sum += 1;
+                        } else if (!containsNonZeroElements[j]) {
+                            isExplored[j] = true;
+                        }
+                    }
+                }
+                bottom *= factorial(sum);
+
+            }
+        }
+
+
+        if(!dataKnown || !betaKnown){
+            sum2=0;
+        KPlus=0;
+        for (int i = 0; i <data.getColumnDimension() ; i++) {
+          if(containsNonZeroElements[i]) {
+              KPlus++;
+              for (int j = 0; j < data.getRowDimension(); j++) {
+                  rowCount[i] += data.getParameterValue(j, i);
+              }
+              sum2+=Beta.logBeta(rowCount[i], data.getRowDimension() + beta.getParameterValue(0) - rowCount[i]);
+          }
+        }
+        }
+        double p1=KPlus*Math.log(alpha.getParameterValue(0)*beta.getParameterValue(0)/bottom);
+        double p2=-alpha.getParameterValue(0)*H();
+        double p3=sum2;
+        betaKnown=true;
+        dataKnown=true;
+        return p1+p2+p3;
+    }
+
+    @Override
+    public void makeDirty() {
+        betaKnown=false;
+        dataKnown=false;
+
+    }
+
+    boolean likelihoodKnown;
+    boolean storedLikelihoodKnown;
+    double logLikelihood;
+    double storedLogLikelihood;
+    boolean betaKnown=false;
+    boolean dataKnown=false;
+    boolean storedDataKnown;
+    boolean storedBetaKnown;
+    int[] rowCount;
+    int[] storedRowCount;
+    int KPlus;
+    int storedKPlus;
+    boolean[] containsNonZeroElements;
+    boolean[] storedContainsNonZeroElements;
+    double H;
+    double storedH;
+    int bottom;
+    int storedBottom;
+    double sum2;
+    double storedSum2;
+
+    MatrixParameter data;
+    Parameter alpha;
+    Parameter beta;
+}
diff --git a/src/dr/inference/model/IntersectionBounds.java b/src/dr/inference/model/IntersectionBounds.java
index 1603844..23df450 100644
--- a/src/dr/inference/model/IntersectionBounds.java
+++ b/src/dr/inference/model/IntersectionBounds.java
@@ -1,7 +1,7 @@
 /*
  * IntersectionBounds.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/model/JointParameter.java b/src/dr/inference/model/JointParameter.java
index 4886dd0..a319455 100644
--- a/src/dr/inference/model/JointParameter.java
+++ b/src/dr/inference/model/JointParameter.java
@@ -1,7 +1,7 @@
 /*
- * CompositeParameter.java
+ * JointParameter.java
  *
- * Copyright (C) 2002-2013 Alexei Drummond, Andrew Rambaut & Marc A. Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/LatentFactorModel.java b/src/dr/inference/model/LatentFactorModel.java
index b69e59e..0c508e8 100644
--- a/src/dr/inference/model/LatentFactorModel.java
+++ b/src/dr/inference/model/LatentFactorModel.java
@@ -1,7 +1,7 @@
 /*
  * LatentFactorModel.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/Likelihood.java b/src/dr/inference/model/Likelihood.java
index 2cd3160..4f5d97e 100644
--- a/src/dr/inference/model/Likelihood.java
+++ b/src/dr/inference/model/Likelihood.java
@@ -1,7 +1,7 @@
 /*
  * Likelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/LikelihoodBenchmarker.java b/src/dr/inference/model/LikelihoodBenchmarker.java
index 9a68b0c..40e6e74 100644
--- a/src/dr/inference/model/LikelihoodBenchmarker.java
+++ b/src/dr/inference/model/LikelihoodBenchmarker.java
@@ -1,7 +1,7 @@
 /*
  * LikelihoodBenchmarker.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/model/LikelihoodProfile.java b/src/dr/inference/model/LikelihoodProfile.java
index a5f26e8..f4f081c 100644
--- a/src/dr/inference/model/LikelihoodProfile.java
+++ b/src/dr/inference/model/LikelihoodProfile.java
@@ -1,7 +1,7 @@
 /*
  * LikelihoodProfile.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/LogarithmStatistic.java b/src/dr/inference/model/LogarithmStatistic.java
index d8d9d8b..57009c8 100644
--- a/src/dr/inference/model/LogarithmStatistic.java
+++ b/src/dr/inference/model/LogarithmStatistic.java
@@ -1,7 +1,7 @@
 /*
  * LogarithmStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/LoggableStatistic.java b/src/dr/inference/model/LoggableStatistic.java
index a474cbf..f8fd199 100644
--- a/src/dr/inference/model/LoggableStatistic.java
+++ b/src/dr/inference/model/LoggableStatistic.java
@@ -1,7 +1,7 @@
 /*
  * LoggableStatistic.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/model/MarkovRandomFieldMatrix.java b/src/dr/inference/model/MarkovRandomFieldMatrix.java
index a0e1563..29d394b 100644
--- a/src/dr/inference/model/MarkovRandomFieldMatrix.java
+++ b/src/dr/inference/model/MarkovRandomFieldMatrix.java
@@ -1,7 +1,7 @@
 /*
  * MarkovRandomFieldMatrix.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -35,6 +35,8 @@ public class MarkovRandomFieldMatrix extends MatrixParameter {
     private Parameter diagonalParameter;
     private Parameter offDiagonalParameter;
 
+    private final Parameter nuggetParameter;
+
     private final Transform diagonalTransform;
     private final Transform offDiagonalTransform;
 
@@ -42,24 +44,40 @@ public class MarkovRandomFieldMatrix extends MatrixParameter {
 
     private int dim;
 
-    public MarkovRandomFieldMatrix(Parameter diagonals, Parameter offDiagonal, boolean asCorrelation) {
-        this(diagonals, offDiagonal, asCorrelation, null, null);
-    }
+//    public MarkovRandomFieldMatrix(String name, int dim, Parameter diagonals, Parameter offDiagonal,
+//                                   Parameter nugget,
+//                                   boolean asCorrelation) {
+//        this(name, dim, diagonals, offDiagonal, nugget, asCorrelation, null, null);
+//    }
 
-    public MarkovRandomFieldMatrix(Parameter diagonals, Parameter offDiagonal, boolean asCorrelation,
+    public MarkovRandomFieldMatrix(String name, int dim, Parameter diagonals, Parameter offDiagonal,
+                                   Parameter nugget,
+                                   boolean asCorrelation,
                                    Transform diagonalTransform, Transform offDiagonalTransform) {
-        super(MATRIX_PARAMETER);
+        super(name);
         diagonalParameter = diagonals;
         offDiagonalParameter = offDiagonal;
+        nuggetParameter = nugget;
+
         addParameter(diagonalParameter);
         addParameter(offDiagonalParameter);
-        dim = diagonalParameter.getDimension();
+        addParameter(nuggetParameter);
+
+        this.dim = dim;
         this.asCorrelation = asCorrelation;
 
         this.diagonalTransform = (diagonalTransform != null) ? diagonalTransform : Transform.NONE;
         this.offDiagonalTransform = (offDiagonalTransform != null) ? offDiagonalTransform : Transform.NONE;
     }
 
+//    public void variableChangedEvent(Variable variable, int index, Parameter.ChangeType type) {
+//        if (variable == diagonalParameter || variable == offDiagonalParameter || variable == nuggetParameter) {
+//            fireParameterChangedEvent(-1, ChangeType.ALL_VALUES_CHANGED);
+//        } else {
+//            throw new IllegalArgumentException("Unknown variable '" + variable.getVariableName() + "'");
+//        }
+//    }
+
 //    public double[] getAttributeValue() {
 //        double[] stats = new double[dim * dim];
 //        int index = 0;
@@ -72,9 +90,15 @@ public class MarkovRandomFieldMatrix extends MatrixParameter {
 //        return stats;
 //    }
 //
-//    public int getDimension() {
-//        return dim * dim;
-//    }
+    public int getDimension() {
+        return dim * dim;
+    }
+
+    public String getDimensionName(int i) {
+        int row = i / dim;
+        int col = i % dim;
+        return getParameterName() + "_" + (row + 1) + "_" + (col + 1);
+    }
 
     private double getDiagonalParameterValue(int i) {
         return diagonalTransform.inverse(diagonalParameter.getParameterValue(i));
@@ -84,6 +108,10 @@ public class MarkovRandomFieldMatrix extends MatrixParameter {
         return offDiagonalTransform.inverse(offDiagonalParameter.getParameterValue(i));
     }
 
+    private double getNuggetValue(int i) {
+        return nuggetParameter.getParameterValue(i);
+    }
+
     public double getParameterValue(int i) {
         int row = i / dim;
         int col = i % dim;
@@ -92,11 +120,17 @@ public class MarkovRandomFieldMatrix extends MatrixParameter {
 
     public double getParameterValue(int row, int col) {
         if (row == col) {
-            return getDiagonalParameterValue(row);
+            double diag = getDiagonalParameterValue(0);
+            if (row > 0 && row < (dim - 1)) {
+                diag *= 2; // TODO Assumes RW-1 model
+            }
+            diag += getNuggetValue(0);
+            return diag;
+//            return getDiagonalParameterValue(row);
         } else if (row == (col - 1) || row == (col + 1)) {
             if (asCorrelation) {
                 return -getOffDiagonalParameterValue(0) *
-                        Math.sqrt(getDiagonalParameterValue(row) * getDiagonalParameterValue(col));
+                        Math.sqrt(getDiagonalParameterValue(0) * getDiagonalParameterValue(0));
             }
             return getOffDiagonalParameterValue(0);
         }
@@ -116,10 +150,10 @@ public class MarkovRandomFieldMatrix extends MatrixParameter {
 //    }
 
     public int getColumnDimension() {
-        return diagonalParameter.getDimension();
+        return dim;
     }
 
     public int getRowDimension() {
-        return diagonalParameter.getDimension();
+        return dim;
     }
 }
diff --git a/src/dr/inference/model/MaskedParameter.java b/src/dr/inference/model/MaskedParameter.java
index 1de688d..e059d21 100644
--- a/src/dr/inference/model/MaskedParameter.java
+++ b/src/dr/inference/model/MaskedParameter.java
@@ -1,7 +1,7 @@
 /*
  * MaskedParameter.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -40,9 +40,14 @@ public class MaskedParameter extends Parameter.Abstract implements VariableListe
 
     public MaskedParameter(Parameter parameter) {
         this.parameter = parameter;
+        parameter.addParameterListener(this);
+
         this.map = new int[parameter.getDimension()];
-        for (int i = 0; i < map.length; i++)
+        this.inverseMap = new int[parameter.getDimension()];
+        for (int i = 0; i < map.length; i++) {
             map[i] = i;
+            inverseMap[i] = i;
+        }
         length = map.length;
     }
 
@@ -66,10 +71,14 @@ public class MaskedParameter extends Parameter.Abstract implements VariableListe
             final int maskValue = (int) maskParameter.getParameterValue(i);
             if (maskValue == equalValue) {
                 map[index] = i;
+                inverseMap[i] = index;
                 index++;
+            } else {
+                inverseMap[i] = -1; // Keep track of indices from parameter than do NOT correspond to entries in mask
             }
         }
         length = index;
+        fireParameterChangedEvent();
     }
 
     public int getDimension() {
@@ -87,9 +96,9 @@ public class MaskedParameter extends Parameter.Abstract implements VariableListe
         parameter.restoreParameterValues();
     }
 
-    public void fireParameterChangedEvent() {
-        parameter.fireParameterChangedEvent();
-    }
+//    public void fireParameterChangedEvent() {
+//        parameter.fireParameterChangedEvent(); // TODO This could be wrong
+//    }
 
     protected void acceptValues() {
         parameter.acceptParameterValues();
@@ -160,15 +169,19 @@ public class MaskedParameter extends Parameter.Abstract implements VariableListe
     public void variableChangedEvent(Variable variable, int index, ChangeType type) {
         if (variable == maskParameter) {
             updateMask();
-        } else {
-            System.err.println("Called by " + variable.getId());
-            throw new RuntimeException("Not yet implemented.");
+        } else { // variable == parameter
+            if (index == -1) {
+                fireParameterChangedEvent();
+            } else if (inverseMap[index] != -1) {
+                fireParameterChangedEvent(inverseMap[index], type);
+            }
         }
     }
 
     private final Parameter parameter;
     private Parameter maskParameter;
     private final int[] map;
+    private final int[] inverseMap;
     private int length;
     private int equalValue;
 }
diff --git a/src/dr/inference/model/MatrixInverseStatistic.java b/src/dr/inference/model/MatrixInverseStatistic.java
index 79e8392..6f56a75 100644
--- a/src/dr/inference/model/MatrixInverseStatistic.java
+++ b/src/dr/inference/model/MatrixInverseStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * MatrixInverseStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import dr.math.matrixAlgebra.Matrix;
diff --git a/src/dr/inference/model/MatrixMatrixProduct.java b/src/dr/inference/model/MatrixMatrixProduct.java
index af35436..b84d6f4 100644
--- a/src/dr/inference/model/MatrixMatrixProduct.java
+++ b/src/dr/inference/model/MatrixMatrixProduct.java
@@ -1,3 +1,28 @@
+/*
+ * MatrixMatrixProduct.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 /*
diff --git a/src/dr/inference/model/MatrixParameter.java b/src/dr/inference/model/MatrixParameter.java
index 4b7eb48..8432e46 100644
--- a/src/dr/inference/model/MatrixParameter.java
+++ b/src/dr/inference/model/MatrixParameter.java
@@ -1,7 +1,7 @@
 /*
  * MatrixParameter.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/MatrixVectorProductParameter.java b/src/dr/inference/model/MatrixVectorProductParameter.java
index 8f852d9..caddc70 100644
--- a/src/dr/inference/model/MatrixVectorProductParameter.java
+++ b/src/dr/inference/model/MatrixVectorProductParameter.java
@@ -1,7 +1,7 @@
 /*
  * MatrixVectorProductParameter.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -119,7 +119,7 @@ public class MatrixVectorProductParameter extends Parameter.Abstract implements
     }
 
     public void variableChangedEvent(Variable variable, int index, ChangeType type) {
-        fireParameterChangedEvent(index, type);
+        fireParameterChangedEvent(); // All dimensions may have changed
     }
 
     private final MatrixParameter matrix;
diff --git a/src/dr/inference/model/MeanStatistic.java b/src/dr/inference/model/MeanStatistic.java
index 8985dab..ac138ef 100644
--- a/src/dr/inference/model/MeanStatistic.java
+++ b/src/dr/inference/model/MeanStatistic.java
@@ -1,7 +1,7 @@
 /*
  * MeanStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/MixtureModelLikelihood.java b/src/dr/inference/model/MixtureModelLikelihood.java
index 6f7f047..decf377 100644
--- a/src/dr/inference/model/MixtureModelLikelihood.java
+++ b/src/dr/inference/model/MixtureModelLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * MixtureModelLikelihood.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/Model.java b/src/dr/inference/model/Model.java
index a7556bf..dad03d6 100644
--- a/src/dr/inference/model/Model.java
+++ b/src/dr/inference/model/Model.java
@@ -1,7 +1,7 @@
 /*
  * Model.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/ModelListener.java b/src/dr/inference/model/ModelListener.java
index e7a4bc9..d35378a 100644
--- a/src/dr/inference/model/ModelListener.java
+++ b/src/dr/inference/model/ModelListener.java
@@ -1,7 +1,7 @@
 /*
  * ModelListener.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/MonotonicStatistic.java b/src/dr/inference/model/MonotonicStatistic.java
index 0d6b809..958a46c 100644
--- a/src/dr/inference/model/MonotonicStatistic.java
+++ b/src/dr/inference/model/MonotonicStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * MonotonicStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import dr.xml.*;
diff --git a/src/dr/inference/model/NegativeStatistic.java b/src/dr/inference/model/NegativeStatistic.java
index 8620e92..64bb8ae 100644
--- a/src/dr/inference/model/NegativeStatistic.java
+++ b/src/dr/inference/model/NegativeStatistic.java
@@ -1,7 +1,7 @@
 /*
  * NegativeStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/NewMatrixParameter.java b/src/dr/inference/model/NewMatrixParameter.java
index 0078939..cdac558 100644
--- a/src/dr/inference/model/NewMatrixParameter.java
+++ b/src/dr/inference/model/NewMatrixParameter.java
@@ -1,3 +1,28 @@
+/*
+ * NewMatrixParameter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import dr.xml.*;
diff --git a/src/dr/inference/model/NotBooleanStatistic.java b/src/dr/inference/model/NotBooleanStatistic.java
index f57325a..7096cb4 100644
--- a/src/dr/inference/model/NotBooleanStatistic.java
+++ b/src/dr/inference/model/NotBooleanStatistic.java
@@ -1,7 +1,7 @@
 /*
  * NotBooleanStatistic.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/NotStatistic.java b/src/dr/inference/model/NotStatistic.java
index 94e9b63..31abdad 100644
--- a/src/dr/inference/model/NotStatistic.java
+++ b/src/dr/inference/model/NotStatistic.java
@@ -1,3 +1,28 @@
+/*
+ * NotStatistic.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 /**
diff --git a/src/dr/inference/model/OneOnX3Prior.java b/src/dr/inference/model/OneOnX3Prior.java
index 8090663..9d44f2e 100644
--- a/src/dr/inference/model/OneOnX3Prior.java
+++ b/src/dr/inference/model/OneOnX3Prior.java
@@ -1,3 +1,28 @@
+/*
+ * OneOnX3Prior.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import java.util.ArrayList;
diff --git a/src/dr/inference/model/OneOnXPrior.java b/src/dr/inference/model/OneOnXPrior.java
index 5e7bac6..b1bf8b6 100644
--- a/src/dr/inference/model/OneOnXPrior.java
+++ b/src/dr/inference/model/OneOnXPrior.java
@@ -1,7 +1,7 @@
 /*
  * OneOnXPrior.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/ParallelCompoundLikelihood.java b/src/dr/inference/model/ParallelCompoundLikelihood.java
index 91a27c3..21ec0b5 100644
--- a/src/dr/inference/model/ParallelCompoundLikelihood.java
+++ b/src/dr/inference/model/ParallelCompoundLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * ParallelCompoundLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import dr.inference.parallel.MPIServices;
diff --git a/src/dr/inference/model/ParallelLikelihood.java b/src/dr/inference/model/ParallelLikelihood.java
index b483a93..0e3e623 100644
--- a/src/dr/inference/model/ParallelLikelihood.java
+++ b/src/dr/inference/model/ParallelLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * ParallelLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 /**
diff --git a/src/dr/inference/model/Parameter.java b/src/dr/inference/model/Parameter.java
index 6265a0f..0eabce3 100644
--- a/src/dr/inference/model/Parameter.java
+++ b/src/dr/inference/model/Parameter.java
@@ -1,7 +1,7 @@
 /*
  * Parameter.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -29,10 +29,7 @@ import dr.inference.parallel.MPIServices;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.*;
 
 /**
  * Represents a multi-dimensional continuous parameter.
@@ -165,17 +162,20 @@ public interface Parameter extends Statistic, Variable<Double> {
 
     boolean isUsed();
 
+    public final static Set<Parameter> FULL_PARAMETER_SET = new LinkedHashSet<Parameter>();
+
     /**
      * Abstract base class for parameters
      */
     public abstract class Abstract extends Statistic.Abstract implements Parameter {
 
         protected Abstract() {
+            FULL_PARAMETER_SET.add(this);
         }
 
         protected Abstract(final String name) {
             super(name);
-
+            FULL_PARAMETER_SET.add(this);
         }
 
         // **************************************************************
@@ -781,5 +781,4 @@ public interface Parameter extends Statistic, Variable<Double> {
         private final double[] uppers, lowers;
     }
 
-    final static Set<Parameter> FULL_PARAMETER_SET = new HashSet<Parameter>();
 }
diff --git a/src/dr/inference/model/ParameterChooser.java b/src/dr/inference/model/ParameterChooser.java
index 80d9895..7844b53 100644
--- a/src/dr/inference/model/ParameterChooser.java
+++ b/src/dr/inference/model/ParameterChooser.java
@@ -1,3 +1,28 @@
+/*
+ * ParameterChooser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 /**
diff --git a/src/dr/inference/model/ParameterChooserParser.java b/src/dr/inference/model/ParameterChooserParser.java
index 9e405b4..d7b850d 100644
--- a/src/dr/inference/model/ParameterChooserParser.java
+++ b/src/dr/inference/model/ParameterChooserParser.java
@@ -1,3 +1,28 @@
+/*
+ * ParameterChooserParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import dr.xml.*;
diff --git a/src/dr/inference/model/ParameterIntegerParser.java b/src/dr/inference/model/ParameterIntegerParser.java
index 84b3cc4..667bce3 100644
--- a/src/dr/inference/model/ParameterIntegerParser.java
+++ b/src/dr/inference/model/ParameterIntegerParser.java
@@ -1,7 +1,7 @@
 /*
- * ParameterParser.java
+ * ParameterIntegerParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/ParameterParser.java b/src/dr/inference/model/ParameterParser.java
index 5868550..12360d0 100644
--- a/src/dr/inference/model/ParameterParser.java
+++ b/src/dr/inference/model/ParameterParser.java
@@ -1,7 +1,7 @@
 /*
  * ParameterParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/PathLikelihood.java b/src/dr/inference/model/PathLikelihood.java
index d1f8b47..4f4e259 100644
--- a/src/dr/inference/model/PathLikelihood.java
+++ b/src/dr/inference/model/PathLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * PathLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -106,6 +106,14 @@ public class PathLikelihood implements Likelihood {
         return (source.getLogLikelihood() * pathParameter) + (destination.getLogLikelihood() * (1.0 - pathParameter));
     }
 
+    public Likelihood getSourceLikelihood() {
+        return source;
+    }
+
+    public Likelihood getDestinationLikelihood() {
+        return destination;
+    }
+
     public void makeDirty() {
         source.makeDirty();
         destination.makeDirty();
diff --git a/src/dr/inference/model/PearsonCorrelation.java b/src/dr/inference/model/PearsonCorrelation.java
index 4e861af..74a1daf 100644
--- a/src/dr/inference/model/PearsonCorrelation.java
+++ b/src/dr/inference/model/PearsonCorrelation.java
@@ -1,3 +1,28 @@
+/*
+ * PearsonCorrelation.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import dr.stats.DiscreteStatistics;
diff --git a/src/dr/inference/model/ProductParameter.java b/src/dr/inference/model/ProductParameter.java
index 65ed42d..8969206 100644
--- a/src/dr/inference/model/ProductParameter.java
+++ b/src/dr/inference/model/ProductParameter.java
@@ -1,7 +1,7 @@
 /*
  * ProductParameter.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/ProductStatistic.java b/src/dr/inference/model/ProductStatistic.java
index 7c1f319..5c04fea 100644
--- a/src/dr/inference/model/ProductStatistic.java
+++ b/src/dr/inference/model/ProductStatistic.java
@@ -1,7 +1,7 @@
 /*
  * ProductStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/RPNcalculatorStatistic.java b/src/dr/inference/model/RPNcalculatorStatistic.java
index 301c096..9b75e4d 100644
--- a/src/dr/inference/model/RPNcalculatorStatistic.java
+++ b/src/dr/inference/model/RPNcalculatorStatistic.java
@@ -1,7 +1,7 @@
 /*
- * ExpressionStatistic.java
+ * RPNcalculatorStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/RPNexpressionCalculator.java b/src/dr/inference/model/RPNexpressionCalculator.java
index 6935ecd..960ab01 100644
--- a/src/dr/inference/model/RPNexpressionCalculator.java
+++ b/src/dr/inference/model/RPNexpressionCalculator.java
@@ -1,3 +1,28 @@
+/*
+ * RPNexpressionCalculator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import java.util.Stack;
diff --git a/src/dr/inference/model/RatioStatistic.java b/src/dr/inference/model/RatioStatistic.java
index 006bc71..6354cc7 100644
--- a/src/dr/inference/model/RatioStatistic.java
+++ b/src/dr/inference/model/RatioStatistic.java
@@ -1,7 +1,7 @@
 /*
- * ProductStatistic.java
+ * RatioStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/ReciprocalStatistic.java b/src/dr/inference/model/ReciprocalStatistic.java
index ad31702..e710173 100644
--- a/src/dr/inference/model/ReciprocalStatistic.java
+++ b/src/dr/inference/model/ReciprocalStatistic.java
@@ -1,7 +1,7 @@
 /*
  * ReciprocalStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/SplineBasis.java b/src/dr/inference/model/SplineBasis.java
index ca3f128..d6e74c2 100644
--- a/src/dr/inference/model/SplineBasis.java
+++ b/src/dr/inference/model/SplineBasis.java
@@ -1,3 +1,28 @@
+/*
+ * SplineBasis.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import dr.math.IntegrableUnivariateFunction;
diff --git a/src/dr/inference/model/Statistic.java b/src/dr/inference/model/Statistic.java
index 6c1b96d..7a87b69 100644
--- a/src/dr/inference/model/Statistic.java
+++ b/src/dr/inference/model/Statistic.java
@@ -1,7 +1,7 @@
 /*
  * Statistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/StatisticList.java b/src/dr/inference/model/StatisticList.java
index 92733c1..f35e2f1 100644
--- a/src/dr/inference/model/StatisticList.java
+++ b/src/dr/inference/model/StatisticList.java
@@ -1,7 +1,7 @@
 /*
  * StatisticList.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/StatisticParser.java b/src/dr/inference/model/StatisticParser.java
index c69ac7d..d1db9ee 100644
--- a/src/dr/inference/model/StatisticParser.java
+++ b/src/dr/inference/model/StatisticParser.java
@@ -1,7 +1,7 @@
 /*
  * StatisticParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/SubStatistic.java b/src/dr/inference/model/SubStatistic.java
index 302612d..48370f4 100644
--- a/src/dr/inference/model/SubStatistic.java
+++ b/src/dr/inference/model/SubStatistic.java
@@ -1,7 +1,7 @@
 /*
  * SubStatistic.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/model/SumStatistic.java b/src/dr/inference/model/SumStatistic.java
index ca63455..ae0508b 100644
--- a/src/dr/inference/model/SumStatistic.java
+++ b/src/dr/inference/model/SumStatistic.java
@@ -1,7 +1,7 @@
 /*
  * SumStatistic.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/model/TestStatistic.java b/src/dr/inference/model/TestStatistic.java
index fafb63f..f45f924 100644
--- a/src/dr/inference/model/TestStatistic.java
+++ b/src/dr/inference/model/TestStatistic.java
@@ -1,7 +1,7 @@
 /*
  * TestStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/TestThreadedCompoundLikelihood.java b/src/dr/inference/model/TestThreadedCompoundLikelihood.java
index b1e6d0c..df68e38 100644
--- a/src/dr/inference/model/TestThreadedCompoundLikelihood.java
+++ b/src/dr/inference/model/TestThreadedCompoundLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * TestThreadedCompoundLikelihood.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/ThreadAwareLikelihood.java b/src/dr/inference/model/ThreadAwareLikelihood.java
index a66341c..c33a6f0 100644
--- a/src/dr/inference/model/ThreadAwareLikelihood.java
+++ b/src/dr/inference/model/ThreadAwareLikelihood.java
@@ -1,7 +1,7 @@
 /*
  * ThreadAwareLikelihood.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/ThreadedCompoundLikelihood.java b/src/dr/inference/model/ThreadedCompoundLikelihood.java
index abc8efa..631f684 100644
--- a/src/dr/inference/model/ThreadedCompoundLikelihood.java
+++ b/src/dr/inference/model/ThreadedCompoundLikelihood.java
@@ -1,7 +1,7 @@
 /*
- * CompoundLikelihood.java
+ * ThreadedCompoundLikelihood.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/TransformedParameter.java b/src/dr/inference/model/TransformedParameter.java
index 01ed1c4..0f88256 100644
--- a/src/dr/inference/model/TransformedParameter.java
+++ b/src/dr/inference/model/TransformedParameter.java
@@ -1,7 +1,7 @@
 /*
  * TransformedParameter.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -41,6 +41,7 @@ public class TransformedParameter extends Parameter.Abstract implements Variable
         this.parameter = parameter;
         this.transform = transform;
         this.inverse = inverse;
+        this.parameter.addVariableListener(this);
     }
 
     public int getDimension() {
@@ -145,7 +146,8 @@ public class TransformedParameter extends Parameter.Abstract implements Variable
     }
 
     public void variableChangedEvent(Variable variable, int index, ChangeType type) {
-        throw new RuntimeException("Should not call variableChangedEvent() on transformed parameter");
+        // Propogate change up model graph
+        fireParameterChangedEvent(index, type);
     }
 
     private final Parameter parameter;
diff --git a/src/dr/inference/model/TransposedBlockUpperTriangularMatrixParameter.java b/src/dr/inference/model/TransposedBlockUpperTriangularMatrixParameter.java
index 4bbbf20..813746e 100644
--- a/src/dr/inference/model/TransposedBlockUpperTriangularMatrixParameter.java
+++ b/src/dr/inference/model/TransposedBlockUpperTriangularMatrixParameter.java
@@ -1,3 +1,28 @@
+/*
+ * TransposedBlockUpperTriangularMatrixParameter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import java.util.ArrayList;
@@ -58,7 +83,7 @@ public class TransposedBlockUpperTriangularMatrixParameter extends BlockUpperTri
 
     @Override
     boolean matrixCondition(int row, int col) {
-        return super.matrixCondition(col, row);
+        return row>=col;
     }
 
     public void setParameterValue(int row, int col, double value){
diff --git a/src/dr/inference/model/TransposedMatrixParameter.java b/src/dr/inference/model/TransposedMatrixParameter.java
index fb09bb5..2e94451 100644
--- a/src/dr/inference/model/TransposedMatrixParameter.java
+++ b/src/dr/inference/model/TransposedMatrixParameter.java
@@ -1,7 +1,7 @@
 /*
  * TransposedMatrixParameter.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/ValuesPool.java b/src/dr/inference/model/ValuesPool.java
index dd62812..2fed720 100644
--- a/src/dr/inference/model/ValuesPool.java
+++ b/src/dr/inference/model/ValuesPool.java
@@ -1,3 +1,28 @@
+/*
+ * ValuesPool.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 /**
diff --git a/src/dr/inference/model/ValuesPoolParser.java b/src/dr/inference/model/ValuesPoolParser.java
index 666f86e..f9e6206 100644
--- a/src/dr/inference/model/ValuesPoolParser.java
+++ b/src/dr/inference/model/ValuesPoolParser.java
@@ -1,3 +1,28 @@
+/*
+ * ValuesPoolParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import dr.xml.*;
diff --git a/src/dr/inference/model/Variable.java b/src/dr/inference/model/Variable.java
index 2db9198..869c957 100644
--- a/src/dr/inference/model/Variable.java
+++ b/src/dr/inference/model/Variable.java
@@ -1,7 +1,7 @@
 /*
  * Variable.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/VariableListener.java b/src/dr/inference/model/VariableListener.java
index cb202b3..9a38447 100644
--- a/src/dr/inference/model/VariableListener.java
+++ b/src/dr/inference/model/VariableListener.java
@@ -1,7 +1,7 @@
 /*
  * VariableListener.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/model/VarianceStatistic.java b/src/dr/inference/model/VarianceStatistic.java
index 5fa55d5..24496ea 100644
--- a/src/dr/inference/model/VarianceStatistic.java
+++ b/src/dr/inference/model/VarianceStatistic.java
@@ -1,7 +1,7 @@
 /*
  * VarianceStatistic.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/model/VectorSliceParameter.java b/src/dr/inference/model/VectorSliceParameter.java
index 8536fdf..7becbfe 100644
--- a/src/dr/inference/model/VectorSliceParameter.java
+++ b/src/dr/inference/model/VectorSliceParameter.java
@@ -1,3 +1,28 @@
+/*
+ * VectorSliceParameter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import dr.xml.*;
@@ -60,6 +85,11 @@ public class VectorSliceParameter extends CompoundParameter {
         parameter.setParameterValueNotifyChangedAll(sliceDimension, value);
     }
 
+    public String getDimensionName(int dim) {
+
+        return getParameter(dim).getVariableName() + Integer.toString(sliceDimension + 1);
+    }
+
     private class sliceBounds implements Bounds<Double>{
 
 
@@ -93,15 +123,27 @@ public class VectorSliceParameter extends CompoundParameter {
 
             for (int i = 0; i < xo.getChildCount(); i++) {
                 Parameter parameter = (Parameter) xo.getChild(i);
-                vectorSlice.addParameter(parameter);
-                if (sliceDimension < 1 || sliceDimension > parameter.getDimension()) {
-                    throw new XMLParseException("Slice dimension " + sliceDimension + " is invalid for a parameter" +
-                    " with dimension = " + parameter.getDimension());
+                if (parameter instanceof MatrixParameter) {
+                    MatrixParameter mp = (MatrixParameter) parameter;
+                    for (int j = 0; j < mp.getParameterCount(); ++j) {
+                        checkAndAdd(vectorSlice, mp.getParameter(j), sliceDimension);
+                    }
+                } else {
+                    checkAndAdd(vectorSlice, parameter, sliceDimension);
                 }
             }
             return vectorSlice;
         }
 
+        private void checkAndAdd(final VectorSliceParameter vectorSlice, final Parameter parameter,
+                                 final int sliceDimension) throws XMLParseException {
+            vectorSlice.addParameter(parameter);
+            if (sliceDimension < 1 || sliceDimension > parameter.getDimension()) {
+                throw new XMLParseException("Slice dimension " + sliceDimension + " is invalid for a parameter" +
+                        " with dimension = " + parameter.getDimension());
+            }
+        }
+
         //************************************************************************
         // AbstractXMLObjectParser implementation
         //************************************************************************
diff --git a/src/dr/inference/model/WeightedMixtureModel.java b/src/dr/inference/model/WeightedMixtureModel.java
index 071c753..4a2251c 100644
--- a/src/dr/inference/model/WeightedMixtureModel.java
+++ b/src/dr/inference/model/WeightedMixtureModel.java
@@ -1,3 +1,28 @@
+/*
+ * WeightedMixtureModel.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.model;
 
 import dr.inference.loggers.LogColumn;
diff --git a/src/dr/inference/operators/AbstractCoercableOperator.java b/src/dr/inference/operators/AbstractCoercableOperator.java
index 010cab0..f68f0d0 100644
--- a/src/dr/inference/operators/AbstractCoercableOperator.java
+++ b/src/dr/inference/operators/AbstractCoercableOperator.java
@@ -1,3 +1,28 @@
+/*
+ * AbstractCoercableOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 /**
diff --git a/src/dr/inference/operators/AdaptableVarianceMultivariateNormalOperator.java b/src/dr/inference/operators/AdaptableVarianceMultivariateNormalOperator.java
index 7d853d5..daf508a 100644
--- a/src/dr/inference/operators/AdaptableVarianceMultivariateNormalOperator.java
+++ b/src/dr/inference/operators/AdaptableVarianceMultivariateNormalOperator.java
@@ -1,7 +1,7 @@
 /*
  * AdaptableVarianceMultivariateNormalOperator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/BitFlipOperator.java b/src/dr/inference/operators/BitFlipOperator.java
index b07e50b..17f68d7 100644
--- a/src/dr/inference/operators/BitFlipOperator.java
+++ b/src/dr/inference/operators/BitFlipOperator.java
@@ -1,7 +1,7 @@
 /*
  * BitFlipOperator.java
  *
- * Copyright (C) 2002-2007 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -85,9 +85,10 @@ public class BitFlipOperator extends SimpleMCMCOperator {
                 // }
                 sum += Math.abs(parameter.getParameterValue(i));
             }
-            if (sum > 103) {
-                System.err.println("sum: " + sum);
-            }
+// AR - removed a debugging printf
+//            if (sum > 103) {
+//                System.err.println("sum: " + sum);
+//            }
 
             /*
             for (int i = 0; i < dim; i++) {
diff --git a/src/dr/inference/operators/BitMoveOperator.java b/src/dr/inference/operators/BitMoveOperator.java
index 7d323f1..b25aa7e 100644
--- a/src/dr/inference/operators/BitMoveOperator.java
+++ b/src/dr/inference/operators/BitMoveOperator.java
@@ -1,3 +1,28 @@
+/*
+ * BitMoveOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inference/operators/BitSwapOperator.java b/src/dr/inference/operators/BitSwapOperator.java
index a55e2a4..14664bd 100644
--- a/src/dr/inference/operators/BitSwapOperator.java
+++ b/src/dr/inference/operators/BitSwapOperator.java
@@ -1,7 +1,7 @@
 /*
  * BitSwapOperator.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/operators/CenteredScaleOperator.java b/src/dr/inference/operators/CenteredScaleOperator.java
index a13055a..49a4b34 100644
--- a/src/dr/inference/operators/CenteredScaleOperator.java
+++ b/src/dr/inference/operators/CenteredScaleOperator.java
@@ -1,7 +1,7 @@
 /*
  * CenteredScaleOperator.java
  *
- * Copyright (C) 2002-2007 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/CoercableMCMCOperator.java b/src/dr/inference/operators/CoercableMCMCOperator.java
index fd0e575..0548537 100644
--- a/src/dr/inference/operators/CoercableMCMCOperator.java
+++ b/src/dr/inference/operators/CoercableMCMCOperator.java
@@ -1,7 +1,7 @@
 /*
  * CoercableMCMCOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/CoercionMode.java b/src/dr/inference/operators/CoercionMode.java
index 16eb5c7..079a24f 100644
--- a/src/dr/inference/operators/CoercionMode.java
+++ b/src/dr/inference/operators/CoercionMode.java
@@ -1,3 +1,28 @@
+/*
+ * CoercionMode.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.xml.XMLObject;
diff --git a/src/dr/inference/operators/CombinedOperatorSchedule.java b/src/dr/inference/operators/CombinedOperatorSchedule.java
index 371986b..a651771 100644
--- a/src/dr/inference/operators/CombinedOperatorSchedule.java
+++ b/src/dr/inference/operators/CombinedOperatorSchedule.java
@@ -1,3 +1,28 @@
+/*
+ * CombinedOperatorSchedule.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.math.MathUtils;
diff --git a/src/dr/inference/operators/DeltaExchangeOperator.java b/src/dr/inference/operators/DeltaExchangeOperator.java
index 6a7fbcb..67858b1 100644
--- a/src/dr/inference/operators/DeltaExchangeOperator.java
+++ b/src/dr/inference/operators/DeltaExchangeOperator.java
@@ -1,7 +1,7 @@
 /*
  * DeltaExchangeOperator.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/operators/DeltaMixOperator.java b/src/dr/inference/operators/DeltaMixOperator.java
index 6451a56..22c4891 100644
--- a/src/dr/inference/operators/DeltaMixOperator.java
+++ b/src/dr/inference/operators/DeltaMixOperator.java
@@ -1,8 +1,26 @@
 /*
  * DeltaMixOperator.java
  *
- * Copyright (C) 2010 Alexander V. Alekseyenko
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
 package dr.inference.operators;
diff --git a/src/dr/inference/operators/DirtyLikelihoodOperator.java b/src/dr/inference/operators/DirtyLikelihoodOperator.java
index 76836b0..2ddf87b 100644
--- a/src/dr/inference/operators/DirtyLikelihoodOperator.java
+++ b/src/dr/inference/operators/DirtyLikelihoodOperator.java
@@ -1,3 +1,28 @@
+/*
+ * DirtyLikelihoodOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.model.Likelihood;
diff --git a/src/dr/inference/operators/EllipticalSliceOperator.java b/src/dr/inference/operators/EllipticalSliceOperator.java
index eb6c286..590d5fa 100644
--- a/src/dr/inference/operators/EllipticalSliceOperator.java
+++ b/src/dr/inference/operators/EllipticalSliceOperator.java
@@ -1,7 +1,7 @@
 /*
  * EllipticalSliceOperator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -44,50 +44,144 @@ import java.util.List;
 /**
  * Implements a generic multivariate slice sampler for a Gaussian prior
  * <p/>
- * See: Murray, Ryan, et al.
+ * See: Murray, Adams, et al.
  *
  * @author Marc A. Suchard
+ * @author Max Tolkoff
  */
 
 public class EllipticalSliceOperator extends SimpleMetropolizedGibbsOperator implements GibbsOperator {
 
     private final GaussianProcessRandomGenerator gaussianProcess;
 
-    public EllipticalSliceOperator(Parameter variable, GaussianProcessRandomGenerator gaussianProcess, boolean drawByRow) {
+    public EllipticalSliceOperator(Parameter variable, GaussianProcessRandomGenerator gaussianProcess,
+                                   boolean drawByRow, boolean signal) {
+        this(variable, gaussianProcess, drawByRow, signal, 0.0, false, false);
+
+    }
+
+    public EllipticalSliceOperator(Parameter variable, GaussianProcessRandomGenerator gaussianProcess,
+                                   boolean drawByRow, boolean signal, double bracketAngle,
+                                   boolean translationInvariant, boolean rotationInvariant) {
         this.variable = variable;
         this.gaussianProcess = gaussianProcess;
         this.drawByRow = drawByRow; // TODO Fix!
+        this.signalConstituentParameters = signal;
+        this.bracketAngle = bracketAngle;
+
+        this.translationInvariant = translationInvariant; // TODO Delegrate into transformed variable
+        this.rotationInvariant = rotationInvariant;
+
+        if (bracketAngle < 0.0 || bracketAngle >= 2.0 * Math.PI) {
+            throw new IllegalArgumentException("Invalid bracket angle");
+        }
+
+        // TODO Must set priorMean if guassianProcess does not have a 0-mean.
     }
 
     public Variable<Double> getVariable() {
         return variable;
     }
 
+    private double getLogGaussianPrior() {
+        return (gaussianProcess.getLikelihood() == null) ?
+                gaussianProcess.logPdf(variable.getParameterValues()) :
+                gaussianProcess.getLikelihood().getLogLikelihood();
+    }
+
     public double doOperation(Prior prior, Likelihood likelihood) throws OperatorFailedException {
         double logPosterior = evaluate(likelihood, prior, pathParameter);
-        double cutoffDensity = logPosterior + MathUtils.randomLogDouble(); // TODO Gaussian contribution should stay constant, check!
+        double logGaussianPrior = getLogGaussianPrior();
+
+        // Cut-off depends only on non-GP contribution to posterior
+        double cutoffDensity = logPosterior - logGaussianPrior + MathUtils.randomLogDouble();
         drawFromSlice(prior, likelihood, cutoffDensity);
+
         // No need to set variable, as SliceInterval has already done this (and recomputed posterior)
         return 0;
     }
 
-    private double[] pointOnEllipse(double[] x, double[] y, double phi) {
+    private double[] pointOnEllipse(double[] x, double[] y, double phi, double[] priorMean) {
         final int dim = x.length;
         final double cos = Math.cos(phi);
         final double sin = Math.sin(phi);
 
         double[] r = new double[dim];
-        for (int i = 0; i < dim; ++i) {
-            r[i] = x[i] * cos + y[i] * sin;
+
+        if (priorMean == null) {
+            for (int i = 0; i < dim; ++i) {
+                r[i] = x[i] * cos + y[i] * sin;
+            }
+        } else {  // Non-0 prior mean
+            for (int i = 0; i < dim; ++i) {
+                r[i] = (x[i] - priorMean[i]) * cos + (y[i] - priorMean[i]) * sin + priorMean[i];
+            }
         }
         return r;
     }
 
     private void setVariable(double[] x) {
-        variable.setParameterValueNotifyChangedAll(0, x[0]);
-        for (int i = 1; i < x.length; ++i) {
+
+        if (translationInvariant) {
+            int dim = 2; // TODO How to determine?
+
+            double[] mean = new double[dim];
+            int k = 0;
+            for (int i = 0; i < x.length / dim; ++i) {
+                for (int j = 0; j < dim; ++j) {
+                    mean[j] += x[k];
+                    ++k;
+                }
+            }
+
+            for (int j = 0; j < dim; ++j) {
+                mean[j] /= (x.length / dim);
+            }
+
+            k = 0;
+            for (int i = 0; i < x.length / dim; ++i) {
+                for (int j = 0; j < dim; ++j) {
+                    x[k] -= mean[j];
+                    ++k;
+                }
+            }
+        }
+
+        if (rotationInvariant) {
+            int dim = 2;
+
+            final double theta = -Math.atan2(x[1], x[0]); // TODO Compute norm and avoid transcendentals
+            final double sin = Math.sin(theta);
+            final double cos = Math.cos(theta);
+
+//            System.err.println(theta + " " + sin + " " + cos);
+
+            int k = 0;
+            for (int i = 0; i < x.length / dim; ++i) {
+//                System.err.print(x[k + 0] + ":" + x[k + 1] + " -> ");
+                double newX = x[k + 0] * cos - x[k + 1] * sin;
+                double newY = x[k + 1] * cos + x[k + 0] * sin;
+                x[k + 0] = newX;
+                x[k + 1] = newY;
+//                System.err.println(x[k + 0] + ":" + x[k + 1]);
+                k += 2;
+            }
+//            System.err.println("");
+//            System.exit(-1);
+        }
+
+//        boolean switchSign = x[0] > 0.0;
+        for (int i = 0; i < x.length; ++i) {
+//            if (switchSign) {
+//                x[i] *= -1;
+//            }
             variable.setParameterValueQuietly(i, x[i]);
         }
+        if (signalConstituentParameters) {
+            variable.fireParameterChangedEvent();
+        } else {
+            ((CompoundParameter)variable).fireParameterChangedEvent(-1, Variable.ChangeType.ALL_VALUES_CHANGED);
+        }
     }
 //
 //        if(!(variable instanceof CompoundParameter))
@@ -139,14 +233,27 @@ public class EllipticalSliceOperator extends SimpleMetropolizedGibbsOperator imp
 //        else
 //            nu = treePrior.nextRandomFast(0);
 
-        double phi = MathUtils.nextDouble() * 2.0 * Math.PI;
-        Interval phiInterval = new Interval(phi - 2.0 * Math.PI, phi);
+        double phi;
+        Interval phiInterval;
+
+        if (bracketAngle == 0.0) {
+            phi = MathUtils.nextDouble() * 2.0 * Math.PI;
+            phiInterval = new Interval(phi - 2.0 * Math.PI, phi);
+        } else {
+            double phi_min = -bracketAngle * MathUtils.nextDouble();
+            double phi_max = phi_min + bracketAngle;
+            phiInterval = new Interval(phi_min, phi_max);
+            phi = phiInterval.draw();
+        }
+
 
         boolean done = false;
         while (!done) {
-            double[] xx = pointOnEllipse(x, nu, phi);
+            double[] xx = pointOnEllipse(x, nu, phi, priorMean);
             setVariable(xx);
             double density = evaluate(likelihood, prior, pathParameter);
+            density -= getLogGaussianPrior(); // Depends only on non-GP contribution to posterior
+
             if (density > cutoffDensity) {
                 done = true;
             } else {
@@ -233,7 +340,8 @@ public class EllipticalSliceOperator extends SimpleMetropolizedGibbsOperator imp
         list.add(likelihood);
         list.add(prior);
         CompoundLikelihood posterior = new CompoundLikelihood(0, list);
-        EllipticalSliceOperator sliceSampler = new EllipticalSliceOperator(thetaParameter, priorDistribution, drawByRow);
+        EllipticalSliceOperator sliceSampler = new EllipticalSliceOperator(thetaParameter, priorDistribution,
+                false, true);
 
 
         final int dim = thetaParameter.getDimension();
@@ -271,7 +379,15 @@ public class EllipticalSliceOperator extends SimpleMetropolizedGibbsOperator imp
     private double pathParameter=1.0;
     private final Parameter variable;
     private int current;
-    private static boolean drawByRow;
+    private boolean drawByRow;
+    private boolean signalConstituentParameters;
+    private double[] priorMean = null;
+
+    private boolean center = true;
+    private double bracketAngle;
+
+    private boolean translationInvariant;
+    private boolean rotationInvariant;
 
 /*
 function [xx, cur_log_like] = elliptical_slice(xx, prior, log_like_fn, cur_log_like, angle_range, varargin)
diff --git a/src/dr/inference/operators/FactorGibbsOperator.java b/src/dr/inference/operators/FactorGibbsOperator.java
index dbcffa4..7c0d524 100644
--- a/src/dr/inference/operators/FactorGibbsOperator.java
+++ b/src/dr/inference/operators/FactorGibbsOperator.java
@@ -1,7 +1,7 @@
 /*
  * FactorGibbsOperator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/FactorIndependenceOperator.java b/src/dr/inference/operators/FactorIndependenceOperator.java
index 62fb5d8..43ef026 100644
--- a/src/dr/inference/operators/FactorIndependenceOperator.java
+++ b/src/dr/inference/operators/FactorIndependenceOperator.java
@@ -1,7 +1,7 @@
 /*
  * FactorIndependenceOperator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/FactorOperator.java b/src/dr/inference/operators/FactorOperator.java
index 39e860a..dcb557c 100644
--- a/src/dr/inference/operators/FactorOperator.java
+++ b/src/dr/inference/operators/FactorOperator.java
@@ -1,7 +1,7 @@
 /*
  * FactorOperator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/GeneralOperator.java b/src/dr/inference/operators/GeneralOperator.java
index 1ccc69c..21ecdde 100644
--- a/src/dr/inference/operators/GeneralOperator.java
+++ b/src/dr/inference/operators/GeneralOperator.java
@@ -1,3 +1,28 @@
+/*
+ * GeneralOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.model.Likelihood;
diff --git a/src/dr/inference/operators/GenericIndependentSampler.java b/src/dr/inference/operators/GenericIndependentSampler.java
index c588056..0c75c37 100644
--- a/src/dr/inference/operators/GenericIndependentSampler.java
+++ b/src/dr/inference/operators/GenericIndependentSampler.java
@@ -1,7 +1,7 @@
 /*
  * GenericIndependentSampler.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/GibbsIndependentGammaOperator.java b/src/dr/inference/operators/GibbsIndependentGammaOperator.java
index 24eeb20..79c17c6 100644
--- a/src/dr/inference/operators/GibbsIndependentGammaOperator.java
+++ b/src/dr/inference/operators/GibbsIndependentGammaOperator.java
@@ -1,7 +1,7 @@
 /*
  * GibbsIndependentGammaOperator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -162,7 +162,7 @@ public class GibbsIndependentGammaOperator extends SimpleMCMCOperator implements
         };
 
 		public String getParserDescription() {
-			return "This element returns an independence sampler, disguised as a Gibss operator, from a provided gamma prior.";
+			return "This element returns an independence sampler, disguised as a Gibbs operator, from a provided gamma prior.";
 		}
 
 		public Class getReturnType() {
diff --git a/src/dr/inference/operators/GibbsIndependentJointNormalGammaOperator.java b/src/dr/inference/operators/GibbsIndependentJointNormalGammaOperator.java
new file mode 100644
index 0000000..b4f5755
--- /dev/null
+++ b/src/dr/inference/operators/GibbsIndependentJointNormalGammaOperator.java
@@ -0,0 +1,238 @@
+/*
+ * GibbsIndependentJointNormalGammaOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inference.operators;
+
+import cern.jet.random.Gamma;
+import cern.jet.random.Normal;
+import cern.jet.random.engine.MersenneTwister;
+import cern.jet.random.engine.RandomEngine;
+import dr.inference.distribution.NormalDistributionModel;
+import dr.inference.model.Bounds;
+import dr.inference.model.Parameter;
+import dr.inference.model.Variable;
+import dr.math.MathUtils;
+import dr.math.distributions.GammaDistribution;
+import dr.xml.*;
+
+/**
+ * An independent joint normal gamma sampler to propose new (independent) values from provided normal and gamma distribution models.
+ *
+ * @author Guy Baele
+ * 
+ */
+public class GibbsIndependentJointNormalGammaOperator extends SimpleMCMCOperator implements GibbsOperator {
+
+	public static final String OPERATOR_NAME = "GibbsIndependentJointNormalGammaOperator";
+    public static final String MEAN = "mean";
+    public static final String PREC = "precision";
+    public static final String SHAPE = "shape";
+    public static final String SCALE = "scale";
+
+	private Variable<Double> mean = null;
+    private Variable<Double> precision = null;
+	private NormalDistributionModel model = null;
+    private GammaDistribution gamma = null;
+	private boolean updateAllIndependently = true;
+
+	private static final boolean TRY_COLT = true;
+    private static final boolean DEBUG = false;
+    private static RandomEngine randomEngine;
+    private static Normal coltNormal;
+    //private static Gamma coltGamma;
+
+	public GibbsIndependentJointNormalGammaOperator(Variable mean, Variable precision, NormalDistributionModel model, GammaDistribution gamma) {
+
+		this(mean, precision, model, gamma, 1.0);
+
+	}
+
+	public GibbsIndependentJointNormalGammaOperator(Variable mean, Variable precision, NormalDistributionModel model, GammaDistribution gamma, double weight) {
+
+		this(mean, precision, model, gamma, weight, true);
+
+	}
+
+	public GibbsIndependentJointNormalGammaOperator(Variable mean, Variable precision, NormalDistributionModel model, GammaDistribution gamma, double weight, boolean updateAllIndependently) {
+		
+		this.mean = mean;
+        this.precision = precision;
+		this.model = model;
+        this.gamma = gamma;
+		this.updateAllIndependently = updateAllIndependently;
+		setWeight(weight);
+		
+		if (TRY_COLT) {
+            randomEngine = new MersenneTwister(MathUtils.nextInt());
+            //create standard normal distribution, internal states will be bypassed anyway
+            //takes mean and standard deviation
+            coltNormal = new Normal(0.0, 1.0, randomEngine);
+            //coltGamma = new Gamma(gamma.getShape(), 1.0/gamma.getScale(), randomEngine);
+        } else {
+        	//no random draw with specified mean and stdev implemented in the normal distribution in BEAST (as far as I know)
+        	throw new RuntimeException("Normal distribution in BEAST still needs a random sampler.");
+        }
+		
+	}
+	
+	public String getPerformanceSuggestion() {
+		return "";
+	}
+
+	public String getOperatorName() {
+		return "GibbsIndependentJointNormalGamma(" + mean.getVariableName() + "," + precision.getVariableName() + ")";
+	}
+	
+	public int getStepCount() {
+        return 1;
+    }
+
+    /**
+     * change the parameter and return the hastings ratio.
+     */
+	public double doOperation() throws OperatorFailedException {
+		
+		//double logq = 0;
+		
+	    //double currentValue;
+		double newValue;
+		
+		final Bounds<Double> meanBounds = mean.getBounds();
+        final Bounds<Double> precBounds = precision.getBounds();
+		final int dim = mean.getSize();
+		
+		if (updateAllIndependently) {
+			for (int i = 0; i < dim; i++) {
+
+                if (DEBUG) {
+                    System.out.println("old precision value: " + precision.getValue(i));
+                    System.out.println("old mean value: " + mean.getValue(i));
+                    System.out.println("model mean check: " + model.getMean().getValue(i));
+                    System.out.println("model precision check: " + model.getPrecision().getValue(i) + "\n");
+                }
+                //start with updating the precision
+                newValue = gamma.nextGamma();
+                //newValue = coltGamma.nextDouble();
+                while (newValue == 0.0) {
+                    newValue = gamma.nextGamma();
+                    //newValue = coltGamma.nextDouble();
+                }
+
+                if (newValue < precBounds.getLowerLimit(i) || newValue > precBounds.getUpperLimit(i)) {
+                    throw new OperatorFailedException("proposed value from gamma distribution outside boundaries");
+                }
+
+                precision.setValue(i, newValue);
+
+                if (DEBUG) {
+                    System.out.println("new precision value: " + precision.getValue(i));
+                    System.out.println("old mean value: " + mean.getValue(i));
+                    System.out.println("model mean check: " + model.getMean().getValue(i));
+                    System.out.println("model precision check: " + model.getPrecision().getValue(i) + "\n");
+                }
+				
+				//use the current mean and precision (standard deviation)
+				newValue = coltNormal.nextDouble(model.getMean().getValue(i), 1.0 / Math.sqrt(model.getPrecision().getValue(i)));
+				
+				//newValue = (double)model.nextRandom();
+				
+				//System.out.print("normal distribution model: N(" + model.getMean().getValue(i) + "," + model.getPrecision().getValue(i) + ")   ");
+				//System.out.println(1.0 / Math.sqrt(model.getPrecision().getValue(i)));
+				//System.out.println("current value: " + currentValue + " -- new value: " + newValue);
+				
+				//logq += (model.logPdf(currentValue) - model.logPdf(newValue));
+				
+				if (newValue < meanBounds.getLowerLimit(i) || newValue > meanBounds.getUpperLimit(i)) {
+                    throw new OperatorFailedException("proposed value from normal distribution outside boundaries");
+                }
+				
+				mean.setValue(i, newValue);
+
+                if (DEBUG) {
+                    System.out.println("new precision value: " + precision.getValue(i));
+                    System.out.println("new mean value: " + mean.getValue(i));
+                    System.out.println("model mean check: " + model.getMean().getValue(i));
+                    System.out.println("model precision check: " + model.getPrecision().getValue(i) + "\n");
+                }
+
+			}
+		}
+		
+		//return logq;
+		return 0;
+		
+	}
+	
+	public static dr.xml.XMLObjectParser PARSER = new dr.xml.AbstractXMLObjectParser() {
+		
+		public String getParserName() {
+            return OPERATOR_NAME;
+        }
+
+		public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+			
+			double weight = xo.getDoubleAttribute(WEIGHT);
+            double shape = xo.getDoubleAttribute(SHAPE);
+            double scale = xo.getDoubleAttribute(SCALE);
+
+            NormalDistributionModel model = (NormalDistributionModel) xo.getChild(NormalDistributionModel.class);
+
+            XMLObject cxo = xo.getChild(MEAN);
+            Parameter mean = (Parameter) cxo.getChild(Parameter.class);
+
+            cxo = xo.getChild(PREC);
+            Parameter precision = (Parameter) cxo.getChild(Parameter.class);
+			
+			return new GibbsIndependentJointNormalGammaOperator(mean, precision, model, new GammaDistribution(shape, scale), weight);
+		}
+		
+		//************************************************************************
+        // AbstractXMLObjectParser implementation
+        //************************************************************************
+
+		public XMLSyntaxRule[] getSyntaxRules() {
+			return rules;
+		}
+		
+		private final XMLSyntaxRule[] rules = {
+                AttributeRule.newDoubleRule(WEIGHT),
+                AttributeRule.newDoubleRule(SHAPE),
+                AttributeRule.newDoubleRule(SCALE),
+                new ElementRule(NormalDistributionModel.class),
+                new ElementRule(MEAN, new XMLSyntaxRule[]{new ElementRule(Parameter.class)}),
+                new ElementRule(PREC, new XMLSyntaxRule[]{new ElementRule(Parameter.class)})
+        };
+
+		public String getParserDescription() {
+			return "This element returns an independence sampler, disguised as a Gibbs operator, from provided normal and gamma distributions.";
+		}
+
+		public Class getReturnType() {
+			return MCMCOperator.class;
+		}
+		
+	};
+
+}
diff --git a/src/dr/inference/operators/GibbsIndependentNormalDistributionOperator.java b/src/dr/inference/operators/GibbsIndependentNormalDistributionOperator.java
index b6ee92f..cb582af 100644
--- a/src/dr/inference/operators/GibbsIndependentNormalDistributionOperator.java
+++ b/src/dr/inference/operators/GibbsIndependentNormalDistributionOperator.java
@@ -1,7 +1,7 @@
 /*
  * GibbsIndependentNormalDistributionOperator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/GibbsOperator.java b/src/dr/inference/operators/GibbsOperator.java
index d7227f1..64cc14e 100644
--- a/src/dr/inference/operators/GibbsOperator.java
+++ b/src/dr/inference/operators/GibbsOperator.java
@@ -1,7 +1,7 @@
 /*
  * GibbsOperator.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/HierarchicalBitFlipOperator.java b/src/dr/inference/operators/HierarchicalBitFlipOperator.java
index 766659b..9ac54f5 100644
--- a/src/dr/inference/operators/HierarchicalBitFlipOperator.java
+++ b/src/dr/inference/operators/HierarchicalBitFlipOperator.java
@@ -1,3 +1,28 @@
+/*
+ * HierarchicalBitFlipOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 
diff --git a/src/dr/inference/operators/IndependentGammaSampler.java b/src/dr/inference/operators/IndependentGammaSampler.java
index d344eb9..c0f7b55 100644
--- a/src/dr/inference/operators/IndependentGammaSampler.java
+++ b/src/dr/inference/operators/IndependentGammaSampler.java
@@ -1,7 +1,7 @@
 /*
  * IndependentGammaSampler.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/IndependentNormalDistributionSampler.java b/src/dr/inference/operators/IndependentNormalDistributionSampler.java
index fdf18d6..6720689 100644
--- a/src/dr/inference/operators/IndependentNormalDistributionSampler.java
+++ b/src/dr/inference/operators/IndependentNormalDistributionSampler.java
@@ -1,7 +1,7 @@
 /*
  * IndependentNormalDistributionSampler.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/JointOperator.java b/src/dr/inference/operators/JointOperator.java
index 279912d..e5c86f9 100644
--- a/src/dr/inference/operators/JointOperator.java
+++ b/src/dr/inference/operators/JointOperator.java
@@ -1,3 +1,28 @@
+/*
+ * JointOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.math.MathUtils;
diff --git a/src/dr/inference/operators/LNVarianceOperator.java b/src/dr/inference/operators/LNVarianceOperator.java
index 7f84fe9..a296c89 100644
--- a/src/dr/inference/operators/LNVarianceOperator.java
+++ b/src/dr/inference/operators/LNVarianceOperator.java
@@ -1,7 +1,7 @@
 /*
  * LNVarianceOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/LatentFactorModelPrecisionGibbsOperator.java b/src/dr/inference/operators/LatentFactorModelPrecisionGibbsOperator.java
index 7d31fb6..0b67aea 100644
--- a/src/dr/inference/operators/LatentFactorModelPrecisionGibbsOperator.java
+++ b/src/dr/inference/operators/LatentFactorModelPrecisionGibbsOperator.java
@@ -1,7 +1,7 @@
 /*
  * LatentFactorModelPrecisionGibbsOperator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/LoadingsGibbsOperator.java b/src/dr/inference/operators/LoadingsGibbsOperator.java
index ea9068e..c8285cf 100644
--- a/src/dr/inference/operators/LoadingsGibbsOperator.java
+++ b/src/dr/inference/operators/LoadingsGibbsOperator.java
@@ -1,7 +1,7 @@
 /*
  * LoadingsGibbsOperator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/LoadingsIndependenceOperator.java b/src/dr/inference/operators/LoadingsIndependenceOperator.java
index e514809..2093a6e 100644
--- a/src/dr/inference/operators/LoadingsIndependenceOperator.java
+++ b/src/dr/inference/operators/LoadingsIndependenceOperator.java
@@ -1,7 +1,7 @@
 /*
  * LoadingsIndependenceOperator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/LogRandomWalkOperator.java b/src/dr/inference/operators/LogRandomWalkOperator.java
index b9a9fce..58cf363 100644
--- a/src/dr/inference/operators/LogRandomWalkOperator.java
+++ b/src/dr/inference/operators/LogRandomWalkOperator.java
@@ -1,7 +1,7 @@
 /*
- * ScaleOperator.java
+ * LogRandomWalkOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/MASAdaptableVarianceMultivariateNormalOperator.java b/src/dr/inference/operators/MASAdaptableVarianceMultivariateNormalOperator.java
index d159a23..601f22d 100644
--- a/src/dr/inference/operators/MASAdaptableVarianceMultivariateNormalOperator.java
+++ b/src/dr/inference/operators/MASAdaptableVarianceMultivariateNormalOperator.java
@@ -1,7 +1,7 @@
 /*
  * MASAdaptableVarianceMultivariateNormalOperator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/MCMCOperator.java b/src/dr/inference/operators/MCMCOperator.java
index b1b3c23..8f92290 100644
--- a/src/dr/inference/operators/MCMCOperator.java
+++ b/src/dr/inference/operators/MCMCOperator.java
@@ -1,7 +1,7 @@
 /*
  * MCMCOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/MVOUCovarianceOperator.java b/src/dr/inference/operators/MVOUCovarianceOperator.java
index 076b768..673f206 100644
--- a/src/dr/inference/operators/MVOUCovarianceOperator.java
+++ b/src/dr/inference/operators/MVOUCovarianceOperator.java
@@ -1,3 +1,28 @@
+/*
+ * MVOUCovarianceOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.model.MatrixParameter;
diff --git a/src/dr/inference/operators/MicrosatUpDownOperator.java b/src/dr/inference/operators/MicrosatUpDownOperator.java
index ab1e46b..cdfa4d3 100644
--- a/src/dr/inference/operators/MicrosatUpDownOperator.java
+++ b/src/dr/inference/operators/MicrosatUpDownOperator.java
@@ -1,3 +1,28 @@
+/*
+ * MicrosatUpDownOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.math.MathUtils;
diff --git a/src/dr/inference/operators/MicrosatelliteModelSelectOperator.java b/src/dr/inference/operators/MicrosatelliteModelSelectOperator.java
index 426a798..9ba2e8a 100644
--- a/src/dr/inference/operators/MicrosatelliteModelSelectOperator.java
+++ b/src/dr/inference/operators/MicrosatelliteModelSelectOperator.java
@@ -1,3 +1,28 @@
+/*
+ * MicrosatelliteModelSelectOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inference/operators/MsatBitFlipOperator.java b/src/dr/inference/operators/MsatBitFlipOperator.java
index d2afd30..7f174da 100644
--- a/src/dr/inference/operators/MsatBitFlipOperator.java
+++ b/src/dr/inference/operators/MsatBitFlipOperator.java
@@ -1,3 +1,28 @@
+/*
+ * MsatBitFlipOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inference/operators/MsatFullAncestryImportanceSamplingOperator.java b/src/dr/inference/operators/MsatFullAncestryImportanceSamplingOperator.java
index def923e..8e791b9 100644
--- a/src/dr/inference/operators/MsatFullAncestryImportanceSamplingOperator.java
+++ b/src/dr/inference/operators/MsatFullAncestryImportanceSamplingOperator.java
@@ -1,3 +1,28 @@
+/*
+ * MsatFullAncestryImportanceSamplingOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.evomodel.tree.MicrosatelliteSamplerTreeModel;
diff --git a/src/dr/inference/operators/MsatSingleAncestralStateGibbsOperator.java b/src/dr/inference/operators/MsatSingleAncestralStateGibbsOperator.java
index 5ab041f..81a6746 100644
--- a/src/dr/inference/operators/MsatSingleAncestralStateGibbsOperator.java
+++ b/src/dr/inference/operators/MsatSingleAncestralStateGibbsOperator.java
@@ -1,3 +1,28 @@
+/*
+ * MsatSingleAncestralStateGibbsOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inference/operators/MultipleRandomWalkIntegerOperator.java b/src/dr/inference/operators/MultipleRandomWalkIntegerOperator.java
index 7b977a6..113f7cc 100644
--- a/src/dr/inference/operators/MultipleRandomWalkIntegerOperator.java
+++ b/src/dr/inference/operators/MultipleRandomWalkIntegerOperator.java
@@ -1,3 +1,28 @@
+/*
+ * MultipleRandomWalkIntegerOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inference/operators/MultivariateNormalGibbsOperator.java b/src/dr/inference/operators/MultivariateNormalGibbsOperator.java
index 2c3bce2..ffd1391 100644
--- a/src/dr/inference/operators/MultivariateNormalGibbsOperator.java
+++ b/src/dr/inference/operators/MultivariateNormalGibbsOperator.java
@@ -1,3 +1,28 @@
+/*
+ * MultivariateNormalGibbsOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.distribution.MultivariateDistributionLikelihood;
diff --git a/src/dr/inference/operators/MultivariateNormalIndependenceSampler.java b/src/dr/inference/operators/MultivariateNormalIndependenceSampler.java
index 317c640..19e5fd9 100644
--- a/src/dr/inference/operators/MultivariateNormalIndependenceSampler.java
+++ b/src/dr/inference/operators/MultivariateNormalIndependenceSampler.java
@@ -1,7 +1,7 @@
 /*
  * MultivariateNormalIndependenceSampler.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/MultivariateNormalOperator.java b/src/dr/inference/operators/MultivariateNormalOperator.java
index 464e622..b949bfe 100644
--- a/src/dr/inference/operators/MultivariateNormalOperator.java
+++ b/src/dr/inference/operators/MultivariateNormalOperator.java
@@ -1,7 +1,7 @@
 /*
  * MultivariateNormalOperator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/NimbleAdaptableVarianceMultivariateNormalOperator.java b/src/dr/inference/operators/NimbleAdaptableVarianceMultivariateNormalOperator.java
index 9269369..4c46111 100644
--- a/src/dr/inference/operators/NimbleAdaptableVarianceMultivariateNormalOperator.java
+++ b/src/dr/inference/operators/NimbleAdaptableVarianceMultivariateNormalOperator.java
@@ -1,7 +1,7 @@
 /*
  * NimbleAdaptableVarianceMultivariateNormalOperator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/NormalGammaPrecisionGibbsOperator.java b/src/dr/inference/operators/NormalGammaPrecisionGibbsOperator.java
index ff04a60..c3a96b3 100644
--- a/src/dr/inference/operators/NormalGammaPrecisionGibbsOperator.java
+++ b/src/dr/inference/operators/NormalGammaPrecisionGibbsOperator.java
@@ -1,7 +1,7 @@
 /*
  * NormalGammaPrecisionGibbsOperator.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/operators/NormalNormalMeanGibbsOperator.java b/src/dr/inference/operators/NormalNormalMeanGibbsOperator.java
index bcbe125..e609f79 100644
--- a/src/dr/inference/operators/NormalNormalMeanGibbsOperator.java
+++ b/src/dr/inference/operators/NormalNormalMeanGibbsOperator.java
@@ -1,7 +1,7 @@
 /*
  * NormalNormalMeanGibbsOperator.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/operators/OperatorAnalysisPrinter.java b/src/dr/inference/operators/OperatorAnalysisPrinter.java
index b303c34..b047575 100644
--- a/src/dr/inference/operators/OperatorAnalysisPrinter.java
+++ b/src/dr/inference/operators/OperatorAnalysisPrinter.java
@@ -1,3 +1,28 @@
+/*
+ * OperatorAnalysisPrinter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.util.NumberFormatter;
diff --git a/src/dr/inference/operators/OperatorFailedException.java b/src/dr/inference/operators/OperatorFailedException.java
index 133ecf5..394aadc 100644
--- a/src/dr/inference/operators/OperatorFailedException.java
+++ b/src/dr/inference/operators/OperatorFailedException.java
@@ -1,7 +1,7 @@
 /*
  * OperatorFailedException.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/OperatorSchedule.java b/src/dr/inference/operators/OperatorSchedule.java
index fc89d85..04fbc96 100644
--- a/src/dr/inference/operators/OperatorSchedule.java
+++ b/src/dr/inference/operators/OperatorSchedule.java
@@ -1,7 +1,7 @@
 /*
  * OperatorSchedule.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/OperatorUtils.java b/src/dr/inference/operators/OperatorUtils.java
index 6431479..bb27f9b 100644
--- a/src/dr/inference/operators/OperatorUtils.java
+++ b/src/dr/inference/operators/OperatorUtils.java
@@ -1,7 +1,7 @@
 /*
  * OperatorUtils.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/RandomWalkIntegerNodeHeightWeightedOperator.java b/src/dr/inference/operators/RandomWalkIntegerNodeHeightWeightedOperator.java
index ecea883..c58b2e4 100644
--- a/src/dr/inference/operators/RandomWalkIntegerNodeHeightWeightedOperator.java
+++ b/src/dr/inference/operators/RandomWalkIntegerNodeHeightWeightedOperator.java
@@ -1,3 +1,28 @@
+/*
+ * RandomWalkIntegerNodeHeightWeightedOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inference/operators/RandomWalkIntegerOperator.java b/src/dr/inference/operators/RandomWalkIntegerOperator.java
index 8017a3a..8fd3589 100644
--- a/src/dr/inference/operators/RandomWalkIntegerOperator.java
+++ b/src/dr/inference/operators/RandomWalkIntegerOperator.java
@@ -1,3 +1,28 @@
+/*
+ * RandomWalkIntegerOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inference/operators/RandomWalkIntegerSetSizeWeightedOperator.java b/src/dr/inference/operators/RandomWalkIntegerSetSizeWeightedOperator.java
index 2a8631f..c2c8218 100644
--- a/src/dr/inference/operators/RandomWalkIntegerSetSizeWeightedOperator.java
+++ b/src/dr/inference/operators/RandomWalkIntegerSetSizeWeightedOperator.java
@@ -1,3 +1,28 @@
+/*
+ * RandomWalkIntegerSetSizeWeightedOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.evolution.tree.NodeRef;
diff --git a/src/dr/inference/operators/RandomWalkOperator.java b/src/dr/inference/operators/RandomWalkOperator.java
index dae4c7d..7d0e0c2 100644
--- a/src/dr/inference/operators/RandomWalkOperator.java
+++ b/src/dr/inference/operators/RandomWalkOperator.java
@@ -1,7 +1,7 @@
 /*
  * RandomWalkOperator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/RateBitExchangeOperator.java b/src/dr/inference/operators/RateBitExchangeOperator.java
index 1a8d158..508d587 100644
--- a/src/dr/inference/operators/RateBitExchangeOperator.java
+++ b/src/dr/inference/operators/RateBitExchangeOperator.java
@@ -1,3 +1,28 @@
+/*
+ * RateBitExchangeOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.xml.*;
diff --git a/src/dr/inference/operators/RegressionGibbsEffectOperator.java b/src/dr/inference/operators/RegressionGibbsEffectOperator.java
index 52deea9..20def4a 100644
--- a/src/dr/inference/operators/RegressionGibbsEffectOperator.java
+++ b/src/dr/inference/operators/RegressionGibbsEffectOperator.java
@@ -1,3 +1,28 @@
+/*
+ * RegressionGibbsEffectOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.distribution.LinearRegression;
diff --git a/src/dr/inference/operators/RegressionGibbsPrecisionOperator.java b/src/dr/inference/operators/RegressionGibbsPrecisionOperator.java
index faa5491..6b1b31c 100644
--- a/src/dr/inference/operators/RegressionGibbsPrecisionOperator.java
+++ b/src/dr/inference/operators/RegressionGibbsPrecisionOperator.java
@@ -1,3 +1,28 @@
+/*
+ * RegressionGibbsPrecisionOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.distribution.*;
diff --git a/src/dr/inference/operators/RegressionMetropolizedIndicatorOperator.java b/src/dr/inference/operators/RegressionMetropolizedIndicatorOperator.java
index c9bb75f..d086751 100644
--- a/src/dr/inference/operators/RegressionMetropolizedIndicatorOperator.java
+++ b/src/dr/inference/operators/RegressionMetropolizedIndicatorOperator.java
@@ -1,3 +1,28 @@
+/*
+ * RegressionMetropolizedIndicatorOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.distribution.LinearRegression;
diff --git a/src/dr/inference/operators/Scalable.java b/src/dr/inference/operators/Scalable.java
index fa86585..b5e96dc 100644
--- a/src/dr/inference/operators/Scalable.java
+++ b/src/dr/inference/operators/Scalable.java
@@ -1,7 +1,7 @@
 /*
  * Scalable.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/operators/ScaleOperator.java b/src/dr/inference/operators/ScaleOperator.java
index 5a384f5..87a4299 100644
--- a/src/dr/inference/operators/ScaleOperator.java
+++ b/src/dr/inference/operators/ScaleOperator.java
@@ -1,7 +1,7 @@
 /*
  * ScaleOperator.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/operators/SelectorOperator.java b/src/dr/inference/operators/SelectorOperator.java
index 9743532..d02f8fc 100644
--- a/src/dr/inference/operators/SelectorOperator.java
+++ b/src/dr/inference/operators/SelectorOperator.java
@@ -1,3 +1,28 @@
+/*
+ * SelectorOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inference/operators/SetOperator.java b/src/dr/inference/operators/SetOperator.java
index 48b6973..2fcbf39 100644
--- a/src/dr/inference/operators/SetOperator.java
+++ b/src/dr/inference/operators/SetOperator.java
@@ -1,7 +1,7 @@
 /*
  * SetOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/SimpleMCMCOperator.java b/src/dr/inference/operators/SimpleMCMCOperator.java
index 03d7ab1..46fc357 100644
--- a/src/dr/inference/operators/SimpleMCMCOperator.java
+++ b/src/dr/inference/operators/SimpleMCMCOperator.java
@@ -1,7 +1,7 @@
 /*
  * SimpleMCMCOperator.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/SimpleMetropolizedGibbsOperator.java b/src/dr/inference/operators/SimpleMetropolizedGibbsOperator.java
index b21fd34..6840146 100644
--- a/src/dr/inference/operators/SimpleMetropolizedGibbsOperator.java
+++ b/src/dr/inference/operators/SimpleMetropolizedGibbsOperator.java
@@ -1,3 +1,28 @@
+/*
+ * SimpleMetropolizedGibbsOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  *
  */
@@ -112,7 +137,7 @@ public abstract class SimpleMetropolizedGibbsOperator extends SimpleOperator imp
         double logPosterior = 0.0;
 
         if (prior != null) {
-            final double logPrior = prior.getLogPrior(likelihood.getModel());
+            final double logPrior = prior.getLogPrior(likelihood.getModel()) * pathParameter;
 
             if (logPrior == Double.NEGATIVE_INFINITY) {
                 return Double.NEGATIVE_INFINITY;
@@ -121,7 +146,7 @@ public abstract class SimpleMetropolizedGibbsOperator extends SimpleOperator imp
             logPosterior += logPrior;
         }
 
-        final double logLikelihood = likelihood.getLogLikelihood()*pathParameter;
+        final double logLikelihood = likelihood.getLogLikelihood() * pathParameter;
 
         if (Double.isNaN(logLikelihood)) {
             return Double.NEGATIVE_INFINITY;
diff --git a/src/dr/inference/operators/SimpleOperator.java b/src/dr/inference/operators/SimpleOperator.java
index 3f8adc8..609bf3a 100644
--- a/src/dr/inference/operators/SimpleOperator.java
+++ b/src/dr/inference/operators/SimpleOperator.java
@@ -1,3 +1,28 @@
+/*
+ * SimpleOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /**
  *
  */
diff --git a/src/dr/inference/operators/SimpleOperatorSchedule.java b/src/dr/inference/operators/SimpleOperatorSchedule.java
index a47529d..ce188c1 100644
--- a/src/dr/inference/operators/SimpleOperatorSchedule.java
+++ b/src/dr/inference/operators/SimpleOperatorSchedule.java
@@ -1,7 +1,7 @@
 /*
  * SimpleOperatorSchedule.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -30,6 +30,7 @@ import dr.inference.loggers.Loggable;
 import dr.inference.loggers.NumberColumn;
 import dr.math.MathUtils;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Vector;
 
@@ -142,18 +143,22 @@ public class SimpleOperatorSchedule implements OperatorSchedule, Loggable {
 	 * @return the log columns.
 	 */
 	public LogColumn[] getColumns() {
-		LogColumn[] columns = new LogColumn[getOperatorCount()];
+		List<LogColumn> columnList = new ArrayList<LogColumn>();
 		for (int i = 0; i < getOperatorCount(); i++) {
 			MCMCOperator op = getOperator(i);
-			columns[i] = new OperatorColumn(op.getOperatorName(), op);
+			columnList.add(new OperatorAcceptanceColumn(op.getOperatorName(), op));
+			if (op instanceof CoercableMCMCOperator) {
+				columnList.add(new OperatorSizeColumn(op.getOperatorName() + "_size", (CoercableMCMCOperator)op));
+			}
 		}
+		LogColumn[] columns = columnList.toArray(new LogColumn[columnList.size()]);
 		return columns;
 	}
 
-    private class OperatorColumn extends NumberColumn {
+    private class OperatorAcceptanceColumn extends NumberColumn {
 		private final MCMCOperator op;
 
-		public OperatorColumn(String label, MCMCOperator op) {
+		public OperatorAcceptanceColumn(String label, MCMCOperator op) {
 			super(label);
 			this.op = op;
 		}
@@ -162,4 +167,17 @@ public class SimpleOperatorSchedule implements OperatorSchedule, Loggable {
 			return MCMCOperator.Utils.getAcceptanceProbability(op);
 		}
 	}
+
+	private class OperatorSizeColumn extends NumberColumn {
+		private final CoercableMCMCOperator op;
+
+		public OperatorSizeColumn(String label, CoercableMCMCOperator op) {
+			super(label);
+			this.op = op;
+		}
+
+		public double getDoubleValue() {
+			return op.getRawParameter();
+		}
+	}
 }
diff --git a/src/dr/inference/operators/SliceInterval.java b/src/dr/inference/operators/SliceInterval.java
index 7f86f2c..a70597a 100644
--- a/src/dr/inference/operators/SliceInterval.java
+++ b/src/dr/inference/operators/SliceInterval.java
@@ -1,3 +1,28 @@
+/*
+ * SliceInterval.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.model.Likelihood;
diff --git a/src/dr/inference/operators/SliceOperator.java b/src/dr/inference/operators/SliceOperator.java
index 020fce3..f8338f3 100644
--- a/src/dr/inference/operators/SliceOperator.java
+++ b/src/dr/inference/operators/SliceOperator.java
@@ -1,3 +1,28 @@
+/*
+ * SliceOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.distribution.DistributionLikelihood;
diff --git a/src/dr/inference/operators/SwapOperator.java b/src/dr/inference/operators/SwapOperator.java
index 264e681..05932f5 100644
--- a/src/dr/inference/operators/SwapOperator.java
+++ b/src/dr/inference/operators/SwapOperator.java
@@ -1,7 +1,7 @@
 /*
  * SwapOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/SwapParameterGibbsOperator.java b/src/dr/inference/operators/SwapParameterGibbsOperator.java
new file mode 100644
index 0000000..fccd6be
--- /dev/null
+++ b/src/dr/inference/operators/SwapParameterGibbsOperator.java
@@ -0,0 +1,48 @@
+/*
+ * SwapParameterGibbsOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inference.operators;
+
+import dr.inference.model.Parameter;
+
+import java.util.List;
+
+/**
+ * @author Marc A. Suchard
+ */
+public class SwapParameterGibbsOperator extends SwapParameterOperator implements GibbsOperator {
+
+    public SwapParameterGibbsOperator(List<Parameter> parameterList, double weight) {
+        super(parameterList, weight);
+    }
+
+    public int getStepCount() {
+        return 1;
+    }
+
+    public String getOperatorName() {
+        return "GIBBS." + super.getOperatorName();
+    }
+}
diff --git a/src/dr/inference/operators/SwapParameterOperator.java b/src/dr/inference/operators/SwapParameterOperator.java
new file mode 100644
index 0000000..2633d04
--- /dev/null
+++ b/src/dr/inference/operators/SwapParameterOperator.java
@@ -0,0 +1,124 @@
+/*
+ * SwapParameterOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inference.operators;
+
+import dr.inference.model.Bounds;
+import dr.inference.model.Parameter;
+import dr.inferencexml.operators.SwapOperatorParser;
+import dr.math.MathUtils;
+
+import java.util.List;
+
+/**
+ * A generic operator swapping all values (dimensions) between two or more parameters
+ *
+ * @author Marc A. Suchard
+ */
+public class SwapParameterOperator extends SimpleMCMCOperator {
+
+    public SwapParameterOperator(List<Parameter> parameterList, double weight) {
+        this.parameterList = parameterList;
+
+        if (parameterList.size() < 2) {
+            throw new IllegalArgumentException("More than 1 parameter is needed");
+        }
+
+        int size = parameterList.get(0).getDimension();
+        for (int i = 1; i < parameterList.size(); ++i) {
+            if (size != parameterList.get(i).getDimension()) {
+                throw new IllegalArgumentException("All parameters most be the same size");
+            }
+        }
+
+        setWeight(weight);
+    }
+
+
+    /**
+     * swap all values in two random parameters.
+     */
+    public final double doOperation() throws OperatorFailedException {
+
+        int i = MathUtils.nextInt(parameterList.size());
+        int j = i;
+
+        while (j == i) {
+            j = MathUtils.nextInt(parameterList.size());
+        }
+
+        final Parameter a = parameterList.get(i);
+        final Parameter b = parameterList.get(j);
+
+        Bounds<Double> aBounds = a.getBounds();
+        Bounds<Double> bBounds = b.getBounds();
+
+
+        for (int k = 0; k < a.getDimension(); ++k) {
+            final double ak = a.getParameterValue(k);
+            final double bk = b.getParameterValue(k);
+
+            // Check bk outside of aBounds or ak outside of bBounds
+            if (isOutside(aBounds, bk, k) || isOutside(bBounds, ak, k)) {
+                throw new OperatorFailedException("proposed value outside boundaries");
+            }
+
+            // Swap
+            a.setParameterValueQuietly(k, bk);
+            b.setParameterValueQuietly(k, ak);
+        }
+
+        a.fireParameterChangedEvent();
+        b.fireParameterChangedEvent();
+
+        return 0.0;
+    }
+
+    private boolean isOutside(final Bounds<Double> bounds, final double x, final int index) {
+        return (x < bounds.getLowerLimit(index) || x > bounds.getUpperLimit(index));
+    }
+
+    private String getParameterNames() {
+        if (parameterNames == null) {
+            StringBuilder sb = new StringBuilder();
+            for (Parameter p : parameterList) {
+                sb.append(p.getParameterName()).append(".");
+            }
+            parameterNames = sb.toString();
+        }
+        return parameterNames;
+    }
+
+    public String getOperatorName() {
+        return SwapOperatorParser.SWAP_OPERATOR + "(" + getParameterNames() + "swap)";
+    }
+
+    public String getPerformanceSuggestion() {
+        return "No suggestions";
+    }
+
+    private final List<Parameter> parameterList;
+    private String parameterNames = null;
+}
diff --git a/src/dr/inference/operators/TeamOperator.java b/src/dr/inference/operators/TeamOperator.java
index 57f6e03..c935984 100644
--- a/src/dr/inference/operators/TeamOperator.java
+++ b/src/dr/inference/operators/TeamOperator.java
@@ -1,3 +1,28 @@
+/*
+ * TeamOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.math.MathUtils;
diff --git a/src/dr/inference/operators/TransformedRandomWalkOperator.java b/src/dr/inference/operators/TransformedRandomWalkOperator.java
index 9d1a2ce..16bb3a2 100644
--- a/src/dr/inference/operators/TransformedRandomWalkOperator.java
+++ b/src/dr/inference/operators/TransformedRandomWalkOperator.java
@@ -1,7 +1,7 @@
 /*
- * RandomWalkOperator.java
+ * TransformedRandomWalkOperator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/TwoPhaseOperator.java b/src/dr/inference/operators/TwoPhaseOperator.java
index 0a10578..b899b69 100644
--- a/src/dr/inference/operators/TwoPhaseOperator.java
+++ b/src/dr/inference/operators/TwoPhaseOperator.java
@@ -1,7 +1,7 @@
 /*
  * TwoPhaseOperator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/UniformIntegerOperator.java b/src/dr/inference/operators/UniformIntegerOperator.java
index 673eb9e..79b0f8f 100644
--- a/src/dr/inference/operators/UniformIntegerOperator.java
+++ b/src/dr/inference/operators/UniformIntegerOperator.java
@@ -1,3 +1,28 @@
+/*
+ * UniformIntegerOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inference/operators/UniformOperator.java b/src/dr/inference/operators/UniformOperator.java
index d58adb2..e9c70a7 100644
--- a/src/dr/inference/operators/UniformOperator.java
+++ b/src/dr/inference/operators/UniformOperator.java
@@ -1,7 +1,7 @@
 /*
  * UniformOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/UpDownOperator.java b/src/dr/inference/operators/UpDownOperator.java
index 418bae1..957cddc 100644
--- a/src/dr/inference/operators/UpDownOperator.java
+++ b/src/dr/inference/operators/UpDownOperator.java
@@ -1,7 +1,7 @@
 /*
  * UpDownOperator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/operators/ValuesPoolSwapOperator.java b/src/dr/inference/operators/ValuesPoolSwapOperator.java
index aef7eb1..8de6a24 100644
--- a/src/dr/inference/operators/ValuesPoolSwapOperator.java
+++ b/src/dr/inference/operators/ValuesPoolSwapOperator.java
@@ -1,3 +1,28 @@
+/*
+ * ValuesPoolSwapOperator.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.operators;
 
 import dr.inference.model.ValuesPool;
diff --git a/src/dr/inference/parallel/MPILikelihoodRunner.java b/src/dr/inference/parallel/MPILikelihoodRunner.java
index 6d1f656..9da32f9 100644
--- a/src/dr/inference/parallel/MPILikelihoodRunner.java
+++ b/src/dr/inference/parallel/MPILikelihoodRunner.java
@@ -1,3 +1,28 @@
+/*
+ * MPILikelihoodRunner.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.parallel;
 
 import dr.inference.loggers.Logger;
diff --git a/src/dr/inference/parallel/MPISerializable.java b/src/dr/inference/parallel/MPISerializable.java
index e6769d9..4eae21d 100644
--- a/src/dr/inference/parallel/MPISerializable.java
+++ b/src/dr/inference/parallel/MPISerializable.java
@@ -1,3 +1,28 @@
+/*
+ * MPISerializable.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.parallel;
 
 /**
diff --git a/src/dr/inference/parallel/MPIServices.java b/src/dr/inference/parallel/MPIServices.java
index 65ec445..dccb9cd 100644
--- a/src/dr/inference/parallel/MPIServices.java
+++ b/src/dr/inference/parallel/MPIServices.java
@@ -1,7 +1,7 @@
 /*
  * MPIServices.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/parallel/ServiceRequest.java b/src/dr/inference/parallel/ServiceRequest.java
index 9d664f2..c2bc85b 100644
--- a/src/dr/inference/parallel/ServiceRequest.java
+++ b/src/dr/inference/parallel/ServiceRequest.java
@@ -1,3 +1,28 @@
+/*
+ * ServiceRequest.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.parallel;
 
 /**
diff --git a/src/dr/inference/prior/AbstractParameterPrior.java b/src/dr/inference/prior/AbstractParameterPrior.java
index a8627d3..7d5fa5b 100644
--- a/src/dr/inference/prior/AbstractParameterPrior.java
+++ b/src/dr/inference/prior/AbstractParameterPrior.java
@@ -1,7 +1,7 @@
 /*
  * AbstractParameterPrior.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/prior/CompositePrior.java b/src/dr/inference/prior/CompositePrior.java
index c745a65..a40dcd7 100644
--- a/src/dr/inference/prior/CompositePrior.java
+++ b/src/dr/inference/prior/CompositePrior.java
@@ -1,7 +1,7 @@
 /*
  * CompositePrior.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/prior/Prior.java b/src/dr/inference/prior/Prior.java
index 5b5e3c1..e930cc0 100644
--- a/src/dr/inference/prior/Prior.java
+++ b/src/dr/inference/prior/Prior.java
@@ -1,7 +1,7 @@
 /*
  * Prior.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inference/prior/UniformParameterPrior.java b/src/dr/inference/prior/UniformParameterPrior.java
index 83fe62c..fc46502 100644
--- a/src/dr/inference/prior/UniformParameterPrior.java
+++ b/src/dr/inference/prior/UniformParameterPrior.java
@@ -1,7 +1,7 @@
 /*
  * UniformParameterPrior.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/regression/RegressionJNIWrapper.java b/src/dr/inference/regression/RegressionJNIWrapper.java
index 91e9b31..bcd7fe8 100644
--- a/src/dr/inference/regression/RegressionJNIWrapper.java
+++ b/src/dr/inference/regression/RegressionJNIWrapper.java
@@ -1,7 +1,7 @@
 /*
  * RegressionJNIWrapper.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/regression/SelfControlledCaseSeries.java b/src/dr/inference/regression/SelfControlledCaseSeries.java
index 9fd08db..7e72093 100644
--- a/src/dr/inference/regression/SelfControlledCaseSeries.java
+++ b/src/dr/inference/regression/SelfControlledCaseSeries.java
@@ -1,7 +1,7 @@
 /*
  * SelfControlledCaseSeries.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/trace/AbstractTraceList.java b/src/dr/inference/trace/AbstractTraceList.java
index 917ed36..0ebeced 100644
--- a/src/dr/inference/trace/AbstractTraceList.java
+++ b/src/dr/inference/trace/AbstractTraceList.java
@@ -1,3 +1,28 @@
+/*
+ * AbstractTraceList.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 /**
diff --git a/src/dr/inference/trace/ArrayTraceList.java b/src/dr/inference/trace/ArrayTraceList.java
index fe6c4dc..a613ae2 100644
--- a/src/dr/inference/trace/ArrayTraceList.java
+++ b/src/dr/inference/trace/ArrayTraceList.java
@@ -1,3 +1,28 @@
+/*
+ * ArrayTraceList.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 import java.util.HashMap;
@@ -71,7 +96,7 @@ public class ArrayTraceList extends AbstractTraceList {
         return stepSize;
     }
 
-    public int getMaxState() {
+    public long getMaxState() {
         return getStateCount() * getStepSize();
     }
 
diff --git a/src/dr/inference/trace/CnCsPerSiteAnalysis.java b/src/dr/inference/trace/CnCsPerSiteAnalysis.java
index bc2920d..9b3ff49 100644
--- a/src/dr/inference/trace/CnCsPerSiteAnalysis.java
+++ b/src/dr/inference/trace/CnCsPerSiteAnalysis.java
@@ -1,3 +1,28 @@
+/*
+ * CnCsPerSiteAnalysis.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 import dr.util.*;
@@ -345,15 +370,15 @@ public class CnCsPerSiteAnalysis implements Citable {
                 tracesCN.loadTraces();
                 tracesCS.loadTraces();
 
-                int maxStateCN = tracesCN.getMaxState();
-                int maxStateCS = tracesCS.getMaxState();
+                long maxStateCN = tracesCN.getMaxState();
+                long maxStateCS = tracesCS.getMaxState();
 
                 if (maxStateCN != maxStateCS){
                     System.err.println("max states in" + fileNameCN + "and" + fileNameCS + "are not equal");
                 }
 
                 // leaving the burnin attribute off will result in 10% being used
-                int burnin = xo.getAttribute(BURN_IN, maxStateCN / 10);
+                long burnin = xo.getAttribute(BURN_IN, maxStateCN / 10);
                 //TODO: implement custom burn-in
 
                 if (burnin < 0 || burnin >= maxStateCN) {
diff --git a/src/dr/inference/trace/CnCsToDnDsPerSiteAnalysis.java b/src/dr/inference/trace/CnCsToDnDsPerSiteAnalysis.java
index 9387db2..5753bb1 100644
--- a/src/dr/inference/trace/CnCsToDnDsPerSiteAnalysis.java
+++ b/src/dr/inference/trace/CnCsToDnDsPerSiteAnalysis.java
@@ -1,7 +1,7 @@
 /*
  * CnCsToDnDsPerSiteAnalysis.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -607,15 +607,15 @@ public class CnCsToDnDsPerSiteAnalysis implements Citable {
                 tracesCN.loadTraces();
                 tracesCS.loadTraces();
 
-                int maxStateCN = tracesCN.getMaxState();
-                int maxStateCS = tracesCS.getMaxState();
+                long maxStateCN = tracesCN.getMaxState();
+                long maxStateCS = tracesCS.getMaxState();
 
                 if (maxStateCN != maxStateCS) {
                     System.err.println("max states in" + fileNameCN + " and " + fileNameCS + " are not equal");
                 }
 
                 // leaving the burnin attribute off will result in 10% being used
-                int burnin = xo.getAttribute(BURN_IN, maxStateCN / 10);
+                long burnin = xo.getAttribute(BURN_IN, maxStateCN / 10);
                 //TODO: implement custom burn-in
 
                 if (burnin < 0 || burnin >= maxStateCN) {
diff --git a/src/dr/inference/trace/DensityEstimate.java b/src/dr/inference/trace/DensityEstimate.java
index d791e5d..a93edcf 100644
--- a/src/dr/inference/trace/DensityEstimate.java
+++ b/src/dr/inference/trace/DensityEstimate.java
@@ -1,3 +1,28 @@
+/*
+ * DensityEstimate.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 import dr.app.gui.chart.Axis;
diff --git a/src/dr/inference/trace/DensityRectangle.java b/src/dr/inference/trace/DensityRectangle.java
index 877edf4..cf1613b 100644
--- a/src/dr/inference/trace/DensityRectangle.java
+++ b/src/dr/inference/trace/DensityRectangle.java
@@ -1,7 +1,7 @@
 /*
  * DensityRectangle.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/trace/DnDsPerSiteAnalysis.java b/src/dr/inference/trace/DnDsPerSiteAnalysis.java
index 5f4ff9b..502f8f8 100644
--- a/src/dr/inference/trace/DnDsPerSiteAnalysis.java
+++ b/src/dr/inference/trace/DnDsPerSiteAnalysis.java
@@ -1,3 +1,28 @@
+/*
+ * DnDsPerSiteAnalysis.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 import dr.inferencexml.trace.MarginalLikelihoodAnalysisParser;
@@ -485,10 +510,10 @@ public class DnDsPerSiteAnalysis implements Citable {
 
                 LogFileTraces traces = new LogFileTraces(fileName, file);
                 traces.loadTraces();
-                int maxState = traces.getMaxState();
+                long maxState = traces.getMaxState();
 
                 // leaving the burnin attribute off will result in 10% being used
-                int burnin = xo.getAttribute(BURN_IN, maxState / 10);
+                long burnin = xo.getAttribute(BURN_IN, maxState / 10);
                 //TODO: implement custom burn-in
 
                 if (burnin < 0 || burnin >= maxState) {
diff --git a/src/dr/inference/trace/Filter.java b/src/dr/inference/trace/Filter.java
index 6d2d919..5810b86 100644
--- a/src/dr/inference/trace/Filter.java
+++ b/src/dr/inference/trace/Filter.java
@@ -1,3 +1,28 @@
+/*
+ * Filter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 /**
diff --git a/src/dr/inference/trace/FilteredTraceList.java b/src/dr/inference/trace/FilteredTraceList.java
index 1c00760..562c703 100644
--- a/src/dr/inference/trace/FilteredTraceList.java
+++ b/src/dr/inference/trace/FilteredTraceList.java
@@ -1,3 +1,28 @@
+/*
+ * FilteredTraceList.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 /**
diff --git a/src/dr/inference/trace/GeneralizedSteppingStoneSamplingAnalysis.java b/src/dr/inference/trace/GeneralizedSteppingStoneSamplingAnalysis.java
index 7775b1f..976b9b4 100644
--- a/src/dr/inference/trace/GeneralizedSteppingStoneSamplingAnalysis.java
+++ b/src/dr/inference/trace/GeneralizedSteppingStoneSamplingAnalysis.java
@@ -1,3 +1,28 @@
+/*
+ * GeneralizedSteppingStoneSamplingAnalysis.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 import java.io.File;
diff --git a/src/dr/inference/trace/KernelDensityEstimate.java b/src/dr/inference/trace/KernelDensityEstimate.java
index 7c90871..56ca27f 100644
--- a/src/dr/inference/trace/KernelDensityEstimate.java
+++ b/src/dr/inference/trace/KernelDensityEstimate.java
@@ -1,3 +1,28 @@
+/*
+ * KernelDensityEstimate.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 import dr.math.distributions.GammaKDEDistribution;
diff --git a/src/dr/inference/trace/LogFileTraceExporter.java b/src/dr/inference/trace/LogFileTraceExporter.java
index e7a62dd..5a950b6 100644
--- a/src/dr/inference/trace/LogFileTraceExporter.java
+++ b/src/dr/inference/trace/LogFileTraceExporter.java
@@ -1,3 +1,28 @@
+/*
+ * LogFileTraceExporter.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 import dr.util.TabularData;
diff --git a/src/dr/inference/trace/LogFileTraces.java b/src/dr/inference/trace/LogFileTraces.java
index 27e83b3..2f65c99 100644
--- a/src/dr/inference/trace/LogFileTraces.java
+++ b/src/dr/inference/trace/LogFileTraces.java
@@ -1,7 +1,7 @@
 /*
  * LogFileTraces.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -59,7 +59,7 @@ public class LogFileTraces extends AbstractTraceList {
     /**
      * @return the last state in the chain
      */
-    public int getMaxState() {
+    public long getMaxState() {
         return lastState;
     }
 
@@ -73,7 +73,7 @@ public class LogFileTraces extends AbstractTraceList {
     public int getStateCount() {
         // This is done as two integer divisions to ensure the same rounding for
         // the burnin...
-        return ((lastState - firstState) / stepSize) - (getBurnIn() / stepSize) + 1;
+        return (int) (((lastState - firstState) / stepSize) - (getBurnIn() / stepSize) + 1);
     }
 
     /**
@@ -129,8 +129,8 @@ public class LogFileTraces extends AbstractTraceList {
         return traces.get(index);
     }
 
-    public void setBurnIn(int burnIn) {
-        this.burnIn = burnIn;
+    public void setBurnIn(long burnin2) {
+        this.burnIn = (int) burnin2;
         for (Trace trace : traces) {
             trace.setTraceStatistics(null);
         }
@@ -236,12 +236,12 @@ public class LogFileTraces extends AbstractTraceList {
         while (tokens != null && tokens.hasMoreTokens()) {
 
             String stateString = tokens.nextToken();
-            int state = 0;
+            long state = 0;
 
             try {
                 try {
                     // Changed this to parseDouble because LAMARC uses scientific notation for the state number
-                    state = (int) Double.parseDouble(stateString);
+                    state = (long) Double.parseDouble(stateString);
                 } catch (NumberFormatException nfe) {
                     throw new TraceException("Unable to parse state number in column 1 (Line " + reader.getLineNumber() + ")");
                 }
@@ -432,14 +432,16 @@ public class LogFileTraces extends AbstractTraceList {
      * @param stateNumber the state
      * @return false if the state number is inconsistent
      */
-    private boolean addState(int stateNumber) {
+    private boolean addState(long stateNumber) {
         if (firstState < 0) {
             firstState = stateNumber;
         } else if (stepSize < 0) {
-            stepSize = stateNumber - firstState;
+            stepSize = (int) (stateNumber - firstState);
         } else {
-            int step = stateNumber - lastState;
+            int step = (int) (stateNumber - lastState);
             if (step != stepSize) {
+            	//System.out.println("stateNumber: " + stateNumber + " lastState: " + lastState);
+            	//System.out.println("step: " + step + " != " + stepSize);
                 return false;
             }
         }
@@ -463,8 +465,8 @@ public class LogFileTraces extends AbstractTraceList {
     private TreeMap<String, TraceFactory.TraceType> tracesType = new TreeMap<String, TraceFactory.TraceType>();
 
     private int burnIn = -1;
-    private int firstState = -1;
-    private int lastState = -1;
+    private long firstState = -1;
+    private long lastState = -1;
     private int stepSize = -1;
 
     public static class TrimLineReader extends BufferedReader {
diff --git a/src/dr/inference/trace/MarginalLikelihoodAnalysis.java b/src/dr/inference/trace/MarginalLikelihoodAnalysis.java
index d4cf574..83eaf86 100644
--- a/src/dr/inference/trace/MarginalLikelihoodAnalysis.java
+++ b/src/dr/inference/trace/MarginalLikelihoodAnalysis.java
@@ -1,7 +1,7 @@
 /*
  * MarginalLikelihoodAnalysis.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -100,12 +100,16 @@ public class MarginalLikelihoodAnalysis {
      */
     public double logMarginalLikelihoodArithmetic(List<Double> v) {
     	
-    	final int size = v.size();
+    	int size = v.size();
     	
     	double sum = LogTricks.logZero;
         
         for (int i = 0; i < size; i++) {
-        	sum = LogTricks.logSum(sum, v.get(i));
+            if (!Double.isNaN(v.get(i)) && !Double.isInfinite(v.get(i))) {
+                sum = LogTricks.logSum(sum, v.get(i));
+            } else {
+                size--;
+            }
         }
         
         return sum - StrictMath.log(size);
@@ -182,10 +186,12 @@ public class MarginalLikelihoodAnalysis {
                 progress += delta;
 
                 int[] indices = MathUtils.sampleIndicesWithReplacement(sampleLength);
-                for (int k = 0; k < sampleLength; k++)
-                    bsSample.add(k, sample.get(indices[k]));
+                for (int k = 0; k < sampleLength; k++) {
+                    bsSample.add(sample.get(indices[k]));
+                }
                 bootstrappedLogML[i] = calculateLogMarginalLikelihood(bsSample);
                 sum += bootstrappedLogML[i];
+                bsSample.clear();
             }
             sum /= bootstrapLength;
             double bootstrappedAverage = sum;
diff --git a/src/dr/inference/trace/OldDnDsPerSiteAnalysis.java b/src/dr/inference/trace/OldDnDsPerSiteAnalysis.java
index e2e291a..8d3da78 100644
--- a/src/dr/inference/trace/OldDnDsPerSiteAnalysis.java
+++ b/src/dr/inference/trace/OldDnDsPerSiteAnalysis.java
@@ -1,3 +1,28 @@
+/*
+ * OldDnDsPerSiteAnalysis.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 import dr.inferencexml.trace.MarginalLikelihoodAnalysisParser;
@@ -343,10 +368,10 @@ public class OldDnDsPerSiteAnalysis {
 
                 LogFileTraces traces = new LogFileTraces(fileName, file);
                 traces.loadTraces();
-                int maxState = traces.getMaxState();
+                long maxState = traces.getMaxState();
 
                 // leaving the burnin attribute off will result in 10% being used
-                int burnin = xo.getAttribute(MarginalLikelihoodAnalysisParser.BURN_IN, maxState / 10);
+                long burnin = xo.getAttribute(MarginalLikelihoodAnalysisParser.BURN_IN, maxState / 10);
                 //TODO: implement custom burn-in
 
                 if (burnin < 0 || burnin >= maxState) {
diff --git a/src/dr/inference/trace/PathSamplingAnalysis.java b/src/dr/inference/trace/PathSamplingAnalysis.java
index 78393d4..b1634fc 100644
--- a/src/dr/inference/trace/PathSamplingAnalysis.java
+++ b/src/dr/inference/trace/PathSamplingAnalysis.java
@@ -1,3 +1,28 @@
+/*
+ * PathSamplingAnalysis.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 import dr.inferencexml.trace.MarginalLikelihoodAnalysisParser;
@@ -152,14 +177,14 @@ public class PathSamplingAnalysis {
                     
                     LogFileTraces traces = new LogFileTraces(fileName, file);
                     traces.loadTraces();
-                    int maxState = traces.getMaxState();
+                    long maxState = traces.getMaxState();
                     
                     // leaving the burnin attribute off will result in 10% being used
-                    int burnin = xo.getAttribute(MarginalLikelihoodAnalysisParser.BURN_IN, maxState / 5);
+                    long burnin = xo.getAttribute(MarginalLikelihoodAnalysisParser.BURN_IN, maxState / 5);
 
                     if (burnin < 0 || burnin >= maxState) {
                         burnin = maxState / 5;
-                        System.out.println("WARNING: Burn-in larger than total number of states - using to 20%");
+                        System.out.println("WARNING: Burn-in larger than total number of states - using 20%");
                     }
 
                     burnin = 0;
diff --git a/src/dr/inference/trace/SteppingStoneSamplingAnalysis.java b/src/dr/inference/trace/SteppingStoneSamplingAnalysis.java
index 733311c..e2fe3c9 100644
--- a/src/dr/inference/trace/SteppingStoneSamplingAnalysis.java
+++ b/src/dr/inference/trace/SteppingStoneSamplingAnalysis.java
@@ -1,3 +1,28 @@
+/*
+ * SteppingStoneSamplingAnalysis.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 import java.io.File;
diff --git a/src/dr/inference/trace/Trace.java b/src/dr/inference/trace/Trace.java
index 15931be..b9cb0e9 100644
--- a/src/dr/inference/trace/Trace.java
+++ b/src/dr/inference/trace/Trace.java
@@ -1,7 +1,7 @@
 /*
  * Trace.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/trace/TraceAnalysis.java b/src/dr/inference/trace/TraceAnalysis.java
index efa26bf..1b889d7 100644
--- a/src/dr/inference/trace/TraceAnalysis.java
+++ b/src/dr/inference/trace/TraceAnalysis.java
@@ -1,7 +1,7 @@
 /*
  * TraceAnalysis.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -85,7 +85,7 @@ public class TraceAnalysis {
 
         int burnin = inBurnin;
         if (burnin == -1) {
-            burnin = traces.getMaxState() / 10;
+            burnin = (int) (traces.getMaxState() / 10);
         }
 
         traces.setBurnIn(burnin);
@@ -183,7 +183,7 @@ public class TraceAnalysis {
         traces.loadTraces();
         int burnin = inBurnin;
         if (burnin == -1) {
-            burnin = traces.getMaxState() / 10;
+            burnin = (int) (traces.getMaxState() / 10);
         }
 
         traces.setBurnIn(burnin);
@@ -244,7 +244,7 @@ public class TraceAnalysis {
 
         TraceList traces = analyzeLogFile(filename, burnin);
 
-        int maxState = traces.getMaxState();
+        long maxState = traces.getMaxState();
 
         double minESS = Double.MAX_VALUE;
 
diff --git a/src/dr/inference/trace/TraceCorrelation.java b/src/dr/inference/trace/TraceCorrelation.java
index ce03ef8..b2ac803 100644
--- a/src/dr/inference/trace/TraceCorrelation.java
+++ b/src/dr/inference/trace/TraceCorrelation.java
@@ -1,7 +1,7 @@
 /*
  * TraceCorrelation.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/trace/TraceCustomized.java b/src/dr/inference/trace/TraceCustomized.java
index e9658df..75619f4 100644
--- a/src/dr/inference/trace/TraceCustomized.java
+++ b/src/dr/inference/trace/TraceCustomized.java
@@ -1,7 +1,7 @@
 /*
- * Trace.java
+ * TraceCustomized.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/trace/TraceDistribution.java b/src/dr/inference/trace/TraceDistribution.java
index dac78f6..0573cca 100644
--- a/src/dr/inference/trace/TraceDistribution.java
+++ b/src/dr/inference/trace/TraceDistribution.java
@@ -1,7 +1,7 @@
 /*
  * TraceDistribution.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/trace/TraceException.java b/src/dr/inference/trace/TraceException.java
index 9b0aaa9..a392fd0 100644
--- a/src/dr/inference/trace/TraceException.java
+++ b/src/dr/inference/trace/TraceException.java
@@ -1,7 +1,7 @@
 /*
  * TraceException.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inference/trace/TraceFactory.java b/src/dr/inference/trace/TraceFactory.java
index a609d14..c763ee2 100644
--- a/src/dr/inference/trace/TraceFactory.java
+++ b/src/dr/inference/trace/TraceFactory.java
@@ -1,3 +1,28 @@
+/*
+ * TraceFactory.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 /**
diff --git a/src/dr/inference/trace/TraceList.java b/src/dr/inference/trace/TraceList.java
index c041142..7edb33b 100644
--- a/src/dr/inference/trace/TraceList.java
+++ b/src/dr/inference/trace/TraceList.java
@@ -1,7 +1,7 @@
 /*
  * TraceList.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -82,7 +82,7 @@ public interface TraceList {
     /**
      * @return the last state in the chain
      */
-    int getMaxState();
+    long getMaxState();
 
     boolean isIncomplete();
 
diff --git a/src/dr/inference/trace/TracesListener.java b/src/dr/inference/trace/TracesListener.java
index 04e2da4..dad6bc9 100644
--- a/src/dr/inference/trace/TracesListener.java
+++ b/src/dr/inference/trace/TracesListener.java
@@ -1,3 +1,28 @@
+/*
+ * TracesListener.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 /**
diff --git a/src/dr/inference/trace/TracesReader.java b/src/dr/inference/trace/TracesReader.java
index 0f062c5..8e1038a 100644
--- a/src/dr/inference/trace/TracesReader.java
+++ b/src/dr/inference/trace/TracesReader.java
@@ -1,3 +1,28 @@
+/*
+ * TracesReader.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inference.trace;
 
 import java.io.Reader;
diff --git a/src/dr/inference/tutorial/Tutorial1.java b/src/dr/inference/tutorial/Tutorial1.java
index 5e7532f..ee2b428 100644
--- a/src/dr/inference/tutorial/Tutorial1.java
+++ b/src/dr/inference/tutorial/Tutorial1.java
@@ -1,7 +1,7 @@
 /*
  * Tutorial1.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inferencexml/MCMCParser.java b/src/dr/inferencexml/MCMCParser.java
index fb99607..0c44420 100644
--- a/src/dr/inferencexml/MCMCParser.java
+++ b/src/dr/inferencexml/MCMCParser.java
@@ -1,7 +1,7 @@
 /*
  * MCMCParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/MLOptimizerParser.java b/src/dr/inferencexml/MLOptimizerParser.java
index a5236f9..b0ddf57 100644
--- a/src/dr/inferencexml/MLOptimizerParser.java
+++ b/src/dr/inferencexml/MLOptimizerParser.java
@@ -1,3 +1,28 @@
+/*
+ * MLOptimizerParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml;
 
 import dr.inference.loggers.Logger;
diff --git a/src/dr/inferencexml/distribution/BetaDistributionModelParser.java b/src/dr/inferencexml/distribution/BetaDistributionModelParser.java
index 5db2280..dbb6f54 100644
--- a/src/dr/inferencexml/distribution/BetaDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/BetaDistributionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * BetaDistributionModelParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/distribution/BinomialLikelihoodParser.java b/src/dr/inferencexml/distribution/BinomialLikelihoodParser.java
index 1974d03..191c4ef 100644
--- a/src/dr/inferencexml/distribution/BinomialLikelihoodParser.java
+++ b/src/dr/inferencexml/distribution/BinomialLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * BinomialLikelihoodParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -39,6 +39,7 @@ public class BinomialLikelihoodParser extends AbstractXMLObjectParser {
     public static final String COUNTS = "counts";
     public static final String PROPORTION = "proportion";
     public static final String VALUES = "values";
+    public static final String ON_LOGIT_SCALE = "onLogitScale";
 
     public String getParserName() {
         return BinomialLikelihood.BINOMIAL_LIKELIHOOD;
@@ -46,31 +47,38 @@ public class BinomialLikelihoodParser extends AbstractXMLObjectParser {
 
     public Object parseXMLObject(XMLObject xo) throws XMLParseException {
 
-        XMLObject cxo = xo.getChild(TRIALS);
-        Parameter trialsParam = (Parameter) cxo.getChild(Parameter.class);
+        final boolean onLogitScale = xo.getAttribute(ON_LOGIT_SCALE, false);
+
+        XMLObject cxo = xo.getChild(COUNTS);
+        Parameter countsParam = (Parameter) cxo.getChild(Parameter.class);
 
         cxo = xo.getChild(PROPORTION);
         Parameter proportionParam = (Parameter) cxo.getChild(Parameter.class);
 
-        cxo = xo.getChild(COUNTS);
-        Parameter counts = null;
+        if (proportionParam.getDimension() != 1 && proportionParam.getDimension() != countsParam.getDimension()) {
+            throw new XMLParseException("Proportion dimension (" + proportionParam.getDimension() + ") " +
+            "must equal 1 or counts dimension (" + countsParam.getDimension() + ")");
+        }
+
+        cxo = xo.getChild(TRIALS);
+        Parameter trialsParam;
         if (cxo.hasAttribute(VALUES)) {
             int[] tmp = cxo.getIntegerArrayAttribute(VALUES);
             double[] v = new double[tmp.length];
             for (int i = 0; i < tmp.length; ++i) {
                 v[i] = tmp[i];
             }
-            counts = new Parameter.Default(v);
+            trialsParam = new Parameter.Default(v);
         } else {
-            counts = (Parameter) cxo.getChild(Parameter.class);
+            trialsParam = (Parameter) cxo.getChild(Parameter.class);
         }
 
-        if (trialsParam.getDimension() != counts.getDimension()) {
+        if (trialsParam.getDimension() != countsParam.getDimension()) {
             throw new XMLParseException("Trials dimension (" + trialsParam.getDimension()
-                    + ") must equal counts dimension (" + counts.getDimension() + ")");
+                    + ") must equal counts dimension (" + countsParam.getDimension() + ")");
         }
 
-        return new BinomialLikelihood(trialsParam, proportionParam, counts);
+        return new BinomialLikelihood(trialsParam, proportionParam, countsParam, onLogitScale);
 
     }
 
@@ -83,15 +91,16 @@ public class BinomialLikelihoodParser extends AbstractXMLObjectParser {
     }
 
     private final XMLSyntaxRule[] rules = {
-            new ElementRule(TRIALS,
+            AttributeRule.newBooleanRule(ON_LOGIT_SCALE, true),
+            new ElementRule(COUNTS,
                     new XMLSyntaxRule[]{new ElementRule(Parameter.class)}),
             new ElementRule(PROPORTION,
                     new XMLSyntaxRule[]{new ElementRule(Parameter.class)}),
             new XORRule(
-                    new ElementRule(COUNTS,
+                    new ElementRule(TRIALS,
                             new XMLSyntaxRule[]{AttributeRule.newIntegerArrayRule(VALUES, false),})
                     ,
-                    new ElementRule(COUNTS,
+                    new ElementRule(TRIALS,
                             new XMLSyntaxRule[]{new ElementRule(Parameter.class)}
                     )),
     };
diff --git a/src/dr/inferencexml/distribution/CachedDistributionLikelihoodParser.java b/src/dr/inferencexml/distribution/CachedDistributionLikelihoodParser.java
index 9b9b07a..41a042c 100644
--- a/src/dr/inferencexml/distribution/CachedDistributionLikelihoodParser.java
+++ b/src/dr/inferencexml/distribution/CachedDistributionLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * CachedDistributionLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import dr.inference.distribution.AbstractDistributionLikelihood;
diff --git a/src/dr/inferencexml/distribution/DirichletProcessLikelihoodParser.java b/src/dr/inferencexml/distribution/DirichletProcessLikelihoodParser.java
index 07eb4bf..dfbc8a0 100644
--- a/src/dr/inferencexml/distribution/DirichletProcessLikelihoodParser.java
+++ b/src/dr/inferencexml/distribution/DirichletProcessLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
- * BinomialLikelihoodParser.java
+ * DirichletProcessLikelihoodParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inferencexml/distribution/DistributionLikelihoodParser.java b/src/dr/inferencexml/distribution/DistributionLikelihoodParser.java
index 6382a3e..1317cdf 100644
--- a/src/dr/inferencexml/distribution/DistributionLikelihoodParser.java
+++ b/src/dr/inferencexml/distribution/DistributionLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * DistributionLikelihoodParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inferencexml/distribution/DistributionModelParser.java b/src/dr/inferencexml/distribution/DistributionModelParser.java
index fcc981c..99eb425 100644
--- a/src/dr/inferencexml/distribution/DistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/DistributionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * DistributionModelParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inferencexml/distribution/EmpiricalDistributionLikelihoodParser.java b/src/dr/inferencexml/distribution/EmpiricalDistributionLikelihoodParser.java
index 29c6844..36caa48 100644
--- a/src/dr/inferencexml/distribution/EmpiricalDistributionLikelihoodParser.java
+++ b/src/dr/inferencexml/distribution/EmpiricalDistributionLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * EmpiricalDistributionLikelihoodParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/distribution/ExponentialDistributionModelParser.java b/src/dr/inferencexml/distribution/ExponentialDistributionModelParser.java
index 4b6f77b..0911dfa 100644
--- a/src/dr/inferencexml/distribution/ExponentialDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/ExponentialDistributionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * ExponentialDistributionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import dr.inference.distribution.ExponentialDistributionModel;
diff --git a/src/dr/inferencexml/distribution/ExponentialMarkovModelParser.java b/src/dr/inferencexml/distribution/ExponentialMarkovModelParser.java
index c95e702..3d32553 100644
--- a/src/dr/inferencexml/distribution/ExponentialMarkovModelParser.java
+++ b/src/dr/inferencexml/distribution/ExponentialMarkovModelParser.java
@@ -1,7 +1,7 @@
 /*
  * ExponentialMarkovModelParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inferencexml/distribution/GammaDistributionModelParser.java b/src/dr/inferencexml/distribution/GammaDistributionModelParser.java
index c4bd11e..9f0bfe9 100644
--- a/src/dr/inferencexml/distribution/GammaDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/GammaDistributionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * GammaDistributionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import dr.inference.distribution.GammaDistributionModel;
diff --git a/src/dr/inferencexml/distribution/GeneralizedLinearModelParser.java b/src/dr/inferencexml/distribution/GeneralizedLinearModelParser.java
index 5a1b930..5acffe3 100644
--- a/src/dr/inferencexml/distribution/GeneralizedLinearModelParser.java
+++ b/src/dr/inferencexml/distribution/GeneralizedLinearModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * GeneralizedLinearModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import cern.colt.matrix.impl.DenseDoubleMatrix2D;
diff --git a/src/dr/inferencexml/distribution/HierarchicalGraphLikelihoodParser.java b/src/dr/inferencexml/distribution/HierarchicalGraphLikelihoodParser.java
index 23a3e4e..808c3d2 100644
--- a/src/dr/inferencexml/distribution/HierarchicalGraphLikelihoodParser.java
+++ b/src/dr/inferencexml/distribution/HierarchicalGraphLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * HierarchicalGraphLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import dr.inference.distribution.HierarchicalGraphLikelihood;
diff --git a/src/dr/inferencexml/distribution/InverseGammaDistributionModelParser.java b/src/dr/inferencexml/distribution/InverseGammaDistributionModelParser.java
index d20f7fa..481bce9 100644
--- a/src/dr/inferencexml/distribution/InverseGammaDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/InverseGammaDistributionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * InverseGammaDistributionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import dr.inference.distribution.GammaDistributionModel;
diff --git a/src/dr/inferencexml/distribution/InverseGaussianDistributionModelParser.java b/src/dr/inferencexml/distribution/InverseGaussianDistributionModelParser.java
index 6fd7eaa..c6cb971 100644
--- a/src/dr/inferencexml/distribution/InverseGaussianDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/InverseGaussianDistributionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * InverseGaussianDistributionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import dr.inference.distribution.InverseGaussianDistributionModel;
diff --git a/src/dr/inferencexml/distribution/LocationScaleJeffreysPriorParser.java b/src/dr/inferencexml/distribution/LocationScaleJeffreysPriorParser.java
index 4845dca..9fd3012 100644
--- a/src/dr/inferencexml/distribution/LocationScaleJeffreysPriorParser.java
+++ b/src/dr/inferencexml/distribution/LocationScaleJeffreysPriorParser.java
@@ -1,7 +1,7 @@
 /*
  * LocationScaleJeffreysPriorParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/distribution/LogNormalDistributionModelParser.java b/src/dr/inferencexml/distribution/LogNormalDistributionModelParser.java
index 58bfdc6..faacadd 100644
--- a/src/dr/inferencexml/distribution/LogNormalDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/LogNormalDistributionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * LogNormalDistributionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import dr.inference.distribution.LogNormalDistributionModel;
diff --git a/src/dr/inferencexml/distribution/MixedDistributionLikelihoodParser.java b/src/dr/inferencexml/distribution/MixedDistributionLikelihoodParser.java
index 520a2be..43b4b06 100644
--- a/src/dr/inferencexml/distribution/MixedDistributionLikelihoodParser.java
+++ b/src/dr/inferencexml/distribution/MixedDistributionLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * MixedDistributionLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import dr.inference.distribution.MixedDistributionLikelihood;
diff --git a/src/dr/inferencexml/distribution/ModelSpecificPseudoPriorLikelihoodParser.java b/src/dr/inferencexml/distribution/ModelSpecificPseudoPriorLikelihoodParser.java
index 4b61658..fb6e475 100644
--- a/src/dr/inferencexml/distribution/ModelSpecificPseudoPriorLikelihoodParser.java
+++ b/src/dr/inferencexml/distribution/ModelSpecificPseudoPriorLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * ModelSpecificPseudoPriorLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import dr.xml.AbstractXMLObjectParser;
diff --git a/src/dr/inferencexml/distribution/MomentDistributionModelParser.java b/src/dr/inferencexml/distribution/MomentDistributionModelParser.java
new file mode 100644
index 0000000..9de30fd
--- /dev/null
+++ b/src/dr/inferencexml/distribution/MomentDistributionModelParser.java
@@ -0,0 +1,95 @@
+/*
+ * MomentDistributionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inferencexml.distribution;
+
+import dr.inference.distribution.MomentDistributionModel;
+import dr.inference.model.Parameter;
+import dr.xml.*;
+
+/**
+ * Created by max on 5/14/15.
+ */
+public class MomentDistributionModelParser extends AbstractXMLObjectParser {
+    public static final String MOMENT_DISTRIBUTION_MODEL = "momentDistributionModel";
+    public static final String MEAN = "mean";
+//    public static final String STDEV = "stdev";
+    public static final String PREC = "precision";
+    public static final String CUTOFF="cutoff";
+    public static final String DATA="data";
+
+    @Override
+    public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+        Parameter mean=(Parameter) xo.getChild(MEAN).getChild(0);
+        Parameter prec=(Parameter) xo.getChild(PREC).getChild(0);
+        Parameter cutoff=(Parameter) xo.getChild(CUTOFF).getChild(0);
+        Parameter data=(Parameter) xo.getChild(DATA).getChild(0);
+
+        return new MomentDistributionModel(mean, prec, cutoff, data);
+    }
+
+    @Override
+    public XMLSyntaxRule[] getSyntaxRules() {
+        return rules;
+    }
+
+    private final XMLSyntaxRule[] rules = {
+            new ElementRule(MEAN,
+                    new XMLSyntaxRule[]{
+                                            new ElementRule(Parameter.class)
+                            }
+            ),
+                    new ElementRule(CUTOFF,
+                            new XMLSyntaxRule[]{
+                                            new ElementRule(Parameter.class)
+                                    }
+                    ),
+                    new ElementRule(PREC,
+                            new XMLSyntaxRule[]{
+                                            new ElementRule(Parameter.class)
+                                    }
+            ),
+            new ElementRule(DATA,
+                    new XMLSyntaxRule[]{
+                            new ElementRule(Parameter.class)
+                    }
+            )
+    };
+
+    @Override
+    public String getParserDescription() {
+        return "Returns an internally truncated normal distribution for claculating a moment prior";
+    }
+
+    @Override
+    public Class getReturnType() {
+        return MomentDistributionModel.class;
+    }
+
+    @Override
+    public String getParserName() {
+        return MOMENT_DISTRIBUTION_MODEL;
+    }
+}
diff --git a/src/dr/inferencexml/distribution/MultivariateNormalDistributionModelParser.java b/src/dr/inferencexml/distribution/MultivariateNormalDistributionModelParser.java
index fe9de86..b10c2a4 100644
--- a/src/dr/inferencexml/distribution/MultivariateNormalDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/MultivariateNormalDistributionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * MultivariateNormalDistributionModelParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/distribution/NormalDistributionModelParser.java b/src/dr/inferencexml/distribution/NormalDistributionModelParser.java
index 80d0ac6..8fcb4ba 100644
--- a/src/dr/inferencexml/distribution/NormalDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/NormalDistributionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * NormalDistributionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import dr.inference.distribution.NormalDistributionModel;
diff --git a/src/dr/inferencexml/distribution/OnePGammaDistributionModelParser.java b/src/dr/inferencexml/distribution/OnePGammaDistributionModelParser.java
index f7f1546..2c5d40a 100644
--- a/src/dr/inferencexml/distribution/OnePGammaDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/OnePGammaDistributionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * OnePGammaDistributionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import dr.inference.distribution.GammaDistributionModel;
diff --git a/src/dr/inferencexml/distribution/PriorParsers.java b/src/dr/inferencexml/distribution/PriorParsers.java
index d7f25ec..50caec8 100644
--- a/src/dr/inferencexml/distribution/PriorParsers.java
+++ b/src/dr/inferencexml/distribution/PriorParsers.java
@@ -1,7 +1,7 @@
 /*
  * PriorParsers.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/distribution/RandomWalkModelParser.java b/src/dr/inferencexml/distribution/RandomWalkModelParser.java
index db54229..0e460fb 100644
--- a/src/dr/inferencexml/distribution/RandomWalkModelParser.java
+++ b/src/dr/inferencexml/distribution/RandomWalkModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * RandomWalkModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import dr.inference.distribution.DistributionLikelihood;
diff --git a/src/dr/inferencexml/distribution/ScaledBetaDistributionModelParser.java b/src/dr/inferencexml/distribution/ScaledBetaDistributionModelParser.java
index e1c19a5..31ecd97 100644
--- a/src/dr/inferencexml/distribution/ScaledBetaDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/ScaledBetaDistributionModelParser.java
@@ -1,7 +1,7 @@
 /*
- * BetaDistributionModelParser.java
+ * ScaledBetaDistributionModelParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/distribution/SkewNormalDistributionModelParser.java b/src/dr/inferencexml/distribution/SkewNormalDistributionModelParser.java
index 2b6c6ad..f8fc0bc 100644
--- a/src/dr/inferencexml/distribution/SkewNormalDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/SkewNormalDistributionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * SkewNormalDistributionModelParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/distribution/TDistributionModelParser.java b/src/dr/inferencexml/distribution/TDistributionModelParser.java
index 7df9b2b..25f1f70 100644
--- a/src/dr/inferencexml/distribution/TDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/TDistributionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * TDistributionModelParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/distribution/TruncatedNormalDistributionModelParser.java b/src/dr/inferencexml/distribution/TruncatedNormalDistributionModelParser.java
index df41bb3..49e5f3c 100644
--- a/src/dr/inferencexml/distribution/TruncatedNormalDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/TruncatedNormalDistributionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * TruncatedNormalDistributionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import dr.inference.distribution.TruncatedNormalDistributionModel;
diff --git a/src/dr/inferencexml/distribution/TwoPartsDistributionLikelihoodParser.java b/src/dr/inferencexml/distribution/TwoPartsDistributionLikelihoodParser.java
index b23891f..e1ccb0d 100644
--- a/src/dr/inferencexml/distribution/TwoPartsDistributionLikelihoodParser.java
+++ b/src/dr/inferencexml/distribution/TwoPartsDistributionLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * TwoPartsDistributionLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import dr.inference.distribution.DistributionLikelihood;
diff --git a/src/dr/inferencexml/distribution/TwoPieceLocationScaleDistributionModelParser.java b/src/dr/inferencexml/distribution/TwoPieceLocationScaleDistributionModelParser.java
index 4271127..9d2152c 100644
--- a/src/dr/inferencexml/distribution/TwoPieceLocationScaleDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/TwoPieceLocationScaleDistributionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * TwoPieceLocationScaleDistributionModelParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/distribution/UniformDistributionModelParser.java b/src/dr/inferencexml/distribution/UniformDistributionModelParser.java
index 41bf92d..082e9c1 100644
--- a/src/dr/inferencexml/distribution/UniformDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/UniformDistributionModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * UniformDistributionModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.distribution;
 
 import dr.inference.distribution.UniformDistributionModel;
diff --git a/src/dr/inferencexml/distribution/WishartGammaDistributionModelParser.java b/src/dr/inferencexml/distribution/WishartGammaDistributionModelParser.java
index ae988da..e40fd69 100644
--- a/src/dr/inferencexml/distribution/WishartGammaDistributionModelParser.java
+++ b/src/dr/inferencexml/distribution/WishartGammaDistributionModelParser.java
@@ -1,7 +1,7 @@
 /*
  * WishartGammaDistributionModelParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/distribution/WorkingPriorParsers.java b/src/dr/inferencexml/distribution/WorkingPriorParsers.java
index a950810..8ad6de3 100644
--- a/src/dr/inferencexml/distribution/WorkingPriorParsers.java
+++ b/src/dr/inferencexml/distribution/WorkingPriorParsers.java
@@ -1,7 +1,7 @@
 /*
  * WorkingPriorParsers.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -25,25 +25,18 @@
 
 package dr.inferencexml.distribution;
 
-import java.io.File;
-import java.io.FileNotFoundException;
-
 import dr.inference.distribution.DistributionLikelihood;
+import dr.inference.distribution.MultivariateDistributionLikelihood;
 import dr.inference.model.Likelihood;
 import dr.inference.model.Statistic;
 import dr.inference.trace.LogFileTraces;
 import dr.inference.trace.TraceException;
-import dr.math.distributions.GammaKDEDistribution;
-import dr.math.distributions.LogTransformedNormalKDEDistribution;
-import dr.math.distributions.NormalKDEDistribution;
+import dr.math.distributions.*;
 import dr.util.FileHelpers;
-import dr.xml.AbstractXMLObjectParser;
-import dr.xml.AttributeRule;
-import dr.xml.ElementRule;
-import dr.xml.XMLObject;
-import dr.xml.XMLObjectParser;
-import dr.xml.XMLParseException;
-import dr.xml.XMLSyntaxRule;
+import dr.xml.*;
+
+import java.io.File;
+import java.io.FileNotFoundException;
 
 /**
  * @author Guy Baele
@@ -54,8 +47,10 @@ public class WorkingPriorParsers {
 
     public static final String NORMAL_REFERENCE_PRIOR = "normalReferencePrior";
     public static final String LOG_TRANSFORMED_NORMAL_REFERENCE_PRIOR = "logTransformedNormalReferencePrior";
+    public static final String LOGIT_TRANSFORMED_NORMAL_REFERENCE_PRIOR = "logitTransformedNormalReferencePrior";
     public static final String GAMMA_REFERENCE_PRIOR = "gammaReferencePrior";
     public static final String PARAMETER_COLUMN = "parameterColumn";
+    public static final String DIMENSION = "dimension";
 
     /**
      * A special parser that reads a convenient short form of reference priors on parameters.
@@ -85,10 +80,10 @@ public class WorkingPriorParsers {
 
                 LogFileTraces traces = new LogFileTraces(fileName, file);
                 traces.loadTraces();
-                int maxState = traces.getMaxState();
+                long maxState = traces.getMaxState();
 
                 // leaving the burnin attribute off will result in 10% being used
-                int burnin = xo.getAttribute("burnin", maxState / 10);
+                long burnin = xo.getAttribute("burnin", maxState / 10);
                 if (burnin < 0 || burnin >= maxState) {
                     burnin = maxState / 10;
                     System.out.println("WARNING: Burn-in larger than total number of states - using 10%");
@@ -175,43 +170,257 @@ public class WorkingPriorParsers {
 
                 String parameterName = xo.getStringAttribute(PARAMETER_COLUMN);
 
+                int dimension = 1;
+                if (xo.hasAttribute(DIMENSION)) {
+                    dimension = xo.getIntegerAttribute(DIMENSION);
+                }
+                if (dimension <= 0) {
+                    throw new XMLParseException("Column '" + parameterName + "' has dimension smaller than 1.");
+                }
+
                 LogFileTraces traces = new LogFileTraces(fileName, file);
                 traces.loadTraces();
-                int maxState = traces.getMaxState();
+                long maxState = traces.getMaxState();
 
                 // leaving the burnin attribute off will result in 10% being used
-                int burnin = xo.getAttribute("burnin", maxState / 10);
+                long burnin = xo.getAttribute("burnin", maxState / 10);
                 if (burnin < 0 || burnin >= maxState) {
                     burnin = maxState / 10;
                     System.out.println("WARNING: Burn-in larger than total number of states - using 10%");
                 }
                 traces.setBurnIn(burnin);
 
-                int traceIndexParameter = -1;
-                for (int i = 0; i < traces.getTraceCount(); i++) {
-                    String traceName = traces.getTraceName(i);
-                    if (traceName.trim().equals(parameterName)) {
-                        traceIndexParameter = i;
+                if (dimension == 1) {
+
+                    int traceIndexParameter = -1;
+                    for (int i = 0; i < traces.getTraceCount(); i++) {
+                        String traceName = traces.getTraceName(i);
+                        if (traceName.trim().equals(parameterName)) {
+                            traceIndexParameter = i;
+                        }
+                    }
+
+                    if (traceIndexParameter == -1) {
+                        throw new XMLParseException("Column '" + parameterName + "' can not be found for " + getParserName() + " element.");
+                    }
+
+                    Double[] parameterSamples = new Double[traces.getStateCount()];
+                    traces.getValues(traceIndexParameter).toArray(parameterSamples);
+
+                    DistributionLikelihood likelihood = new DistributionLikelihood(new LogTransformedNormalKDEDistribution(parameterSamples));
+                    for (int j = 0; j < xo.getChildCount(); j++) {
+                        if (xo.getChild(j) instanceof Statistic) {
+                            if (DEBUG) {
+                                System.out.println(((Statistic) xo.getChild(j)).toString());
+                                System.out.println(((Statistic) xo.getChild(j)).getDimension());
+                            }
+                            likelihood.addData((Statistic) xo.getChild(j));
+                        } else {
+                            throw new XMLParseException("illegal element in " + xo.getName() + " element");
+                        }
+                    }
+
+                    return likelihood;
+
+                } else {
+
+                    //dimension > 1
+                    LogTransformedNormalKDEDistribution[] arrayKDE = new LogTransformedNormalKDEDistribution[dimension];
+
+                    for (int i = 0; i < dimension; i++) {
+                        //look for parameterName1, parameterName2, ... if necessary
+                        String newParameterName = parameterName + (i+1);
+                        int traceIndexParameter = -1;
+                        for (int j = 0; j < traces.getTraceCount(); j++) {
+                            String traceName = traces.getTraceName(j);
+                            if (traceName.trim().equals(newParameterName)) {
+                                traceIndexParameter = j;
+                            }
+                        }
+
+                        if (traceIndexParameter == -1) {
+                            throw new XMLParseException("Column '" + newParameterName + "' can not be found for " + getParserName() + " element.");
+                        }
+
+                        Double[] parameterSamples = new Double[traces.getStateCount()];
+                        traces.getValues(traceIndexParameter).toArray(parameterSamples);
+
+                        arrayKDE[i] =  new LogTransformedNormalKDEDistribution(parameterSamples);
+
                     }
+
+                    MultivariateDistributionLikelihood likelihood = new MultivariateDistributionLikelihood(new MultivariateKDEDistribution(arrayKDE));
+
+                    for (int j = 0; j < xo.getChildCount(); j++) {
+                        if (xo.getChild(j) instanceof Statistic) {
+                            if (DEBUG) {
+                                System.out.println(((Statistic) xo.getChild(j)).toString());
+                                System.out.println(((Statistic) xo.getChild(j)).getDimension());
+                            }
+                            likelihood.addData((Statistic) xo.getChild(j));
+                        } else {
+                            throw new XMLParseException("illegal element in " + xo.getName() + " element");
+                        }
+                    }
+
+                    return likelihood;
+
                 }
 
-                if (traceIndexParameter == -1) {
-                    throw new XMLParseException("Column '" + parameterName + "' can not be found for " + getParserName() + " element.");
+            } catch (FileNotFoundException fnfe) {
+                throw new XMLParseException("File '" + fileName + "' can not be opened for " + getParserName() + " element.");
+            } catch (java.io.IOException ioe) {
+                throw new XMLParseException(ioe.getMessage());
+            } catch (TraceException e) {
+                throw new XMLParseException(e.getMessage());
+            }
+
+        }
+
+        public XMLSyntaxRule[] getSyntaxRules() {
+            return rules;
+        }
+
+        private final XMLSyntaxRule[] rules = {
+                AttributeRule.newStringRule("fileName"),
+                AttributeRule.newStringRule("parameterColumn"),
+                AttributeRule.newIntegerRule("burnin"),
+                new ElementRule(Statistic.class, 1, Integer.MAX_VALUE)
+        };
+
+        public String getParserDescription() {
+            return "Calculates the reference prior probability of some data under log transformed normal distribution.";
+        }
+
+        public Class getReturnType() {
+            return Likelihood.class;
+        }
+
+    };
+
+    /**
+     * A special parser that reads a convenient short form of reference priors on parameters.
+     */
+    public static XMLObjectParser LOGIT_TRANSFORMED_NORMAL_REFERENCE_PRIOR_PARSER = new AbstractXMLObjectParser() {
+
+        public String getParserName() {
+            return LOGIT_TRANSFORMED_NORMAL_REFERENCE_PRIOR;
+        }
+
+        public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+
+            String fileName = xo.getStringAttribute(FileHelpers.FILE_NAME);
+
+            try {
+
+                File file = new File(fileName);
+                String parent = file.getParent();
+
+                if (!file.isAbsolute()) {
+                    parent = System.getProperty("user.dir");
                 }
+                file = new File(parent, fileName);
+                fileName = file.getAbsolutePath();
 
-                Double[] parameterSamples = new Double[traces.getStateCount()];
-                traces.getValues(traceIndexParameter).toArray(parameterSamples);
+                //keep using String and not an array of Strings, append integers later on
+                String parameterName = xo.getStringAttribute(PARAMETER_COLUMN);
 
-                DistributionLikelihood likelihood = new DistributionLikelihood(new LogTransformedNormalKDEDistribution(parameterSamples));
-                for (int j = 0; j < xo.getChildCount(); j++) {
-                    if (xo.getChild(j) instanceof Statistic) {
-                        likelihood.addData((Statistic) xo.getChild(j));
-                    } else {
-                        throw new XMLParseException("illegal element in " + xo.getName() + " element");
-                    }
+                int dimension = 1;
+                if (xo.hasAttribute(DIMENSION)) {
+                    dimension = xo.getIntegerAttribute(DIMENSION);
+                }
+                if (dimension <= 0) {
+                    throw new XMLParseException("Column '" + parameterName + "' has dimension smaller than 1.");
                 }
 
-                return likelihood;
+                LogFileTraces traces = new LogFileTraces(fileName, file);
+                traces.loadTraces();
+                long maxState = traces.getMaxState();
+
+                // leaving the burnin attribute off will result in 10% being used
+                long burnin = xo.getAttribute("burnin", maxState / 10);
+                if (burnin < 0 || burnin >= maxState) {
+                    burnin = maxState / 10;
+                    System.out.println("WARNING: Burn-in larger than total number of states - using 10%");
+                }
+                traces.setBurnIn(burnin);
+
+                if (dimension == 1) {
+
+                    int traceIndexParameter = -1;
+                    for (int i = 0; i < traces.getTraceCount(); i++) {
+                        String traceName = traces.getTraceName(i);
+                        if (traceName.trim().equals(parameterName)) {
+                            traceIndexParameter = i;
+                        }
+                    }
+
+                    if (traceIndexParameter == -1) {
+                        throw new XMLParseException("Column '" + parameterName + "' can not be found for " + getParserName() + " element.");
+                    }
+
+                    Double[] parameterSamples = new Double[traces.getStateCount()];
+                    traces.getValues(traceIndexParameter).toArray(parameterSamples);
+
+                    DistributionLikelihood likelihood = new DistributionLikelihood(new LogitTransformedNormalKDEDistribution(parameterSamples));
+                    for (int j = 0; j < xo.getChildCount(); j++) {
+                        if (xo.getChild(j) instanceof Statistic) {
+                            if (DEBUG) {
+                                System.out.println(((Statistic) xo.getChild(j)).toString());
+                                System.out.println(((Statistic) xo.getChild(j)).getDimension());
+                            }
+                            likelihood.addData((Statistic) xo.getChild(j));
+                        } else {
+                            throw new XMLParseException("illegal element in " + xo.getName() + " element");
+                        }
+                    }
+
+                    return likelihood;
+
+                } else {
+
+                    //dimension > 1
+                    LogitTransformedNormalKDEDistribution[] arrayKDE = new LogitTransformedNormalKDEDistribution[dimension];
+
+                    for (int i = 0; i < dimension; i++) {
+                        //look for parameterName1, parameterName2, ... if necessary
+                        String newParameterName = parameterName + (i+1);
+                        int traceIndexParameter = -1;
+                        for (int j = 0; j < traces.getTraceCount(); j++) {
+                            String traceName = traces.getTraceName(j);
+                            if (traceName.trim().equals(newParameterName)) {
+                                traceIndexParameter = j;
+                            }
+                        }
+
+                        if (traceIndexParameter == -1) {
+                            throw new XMLParseException("Column '" + newParameterName + "' can not be found for " + getParserName() + " element.");
+                        }
+
+                        Double[] parameterSamples = new Double[traces.getStateCount()];
+                        traces.getValues(traceIndexParameter).toArray(parameterSamples);
+
+                        arrayKDE[i] =  new LogitTransformedNormalKDEDistribution(parameterSamples);
+
+                    }
+
+                    MultivariateDistributionLikelihood likelihood = new MultivariateDistributionLikelihood(new MultivariateKDEDistribution(arrayKDE));
+
+                    for (int j = 0; j < xo.getChildCount(); j++) {
+                        if (xo.getChild(j) instanceof Statistic) {
+                            if (DEBUG) {
+                                System.out.println(((Statistic) xo.getChild(j)).toString());
+                                System.out.println(((Statistic) xo.getChild(j)).getDimension());
+                            }
+                            likelihood.addData((Statistic) xo.getChild(j));
+                        } else {
+                            throw new XMLParseException("illegal element in " + xo.getName() + " element");
+                        }
+                    }
+
+                    return likelihood;
+
+                }
 
             } catch (FileNotFoundException fnfe) {
                 throw new XMLParseException("File '" + fileName + "' can not be opened for " + getParserName() + " element.");
@@ -231,11 +440,13 @@ public class WorkingPriorParsers {
                 AttributeRule.newStringRule("fileName"),
                 AttributeRule.newStringRule("parameterColumn"),
                 AttributeRule.newIntegerRule("burnin"),
+                //optional to provide a dimension attribute
+                AttributeRule.newIntegerRule("dimension", true),
                 new ElementRule(Statistic.class, 1, Integer.MAX_VALUE)
         };
 
         public String getParserDescription() {
-            return "Calculates the reference prior probability of some data under log transformed normal distribution.";
+            return "Calculates the reference prior probability of some data under logit transformed normal distribution.";
         }
 
         public Class getReturnType() {
@@ -272,10 +483,10 @@ public class WorkingPriorParsers {
 
                 LogFileTraces traces = new LogFileTraces(fileName, file);
                 traces.loadTraces();
-                int maxState = traces.getMaxState();
+                long maxState = traces.getMaxState();
 
                 // leaving the burnin attribute off will result in 10% being used
-                int burnin = xo.getAttribute("burnin", maxState / 10);
+                long burnin = xo.getAttribute("burnin", maxState / 10);
                 if (burnin < 0 || burnin >= maxState) {
                     burnin = maxState / 10;
                     System.out.println("WARNING: Burn-in larger than total number of states - using 10%");
diff --git a/src/dr/inferencexml/loggers/ColumnsParser.java b/src/dr/inferencexml/loggers/ColumnsParser.java
index 9cb6033..695a30b 100644
--- a/src/dr/inferencexml/loggers/ColumnsParser.java
+++ b/src/dr/inferencexml/loggers/ColumnsParser.java
@@ -1,3 +1,28 @@
+/*
+ * ColumnsParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.loggers;
 
 import dr.inference.loggers.*;
diff --git a/src/dr/inferencexml/loggers/LoggerParser.java b/src/dr/inferencexml/loggers/LoggerParser.java
index 3b9f241..1e618e9 100644
--- a/src/dr/inferencexml/loggers/LoggerParser.java
+++ b/src/dr/inferencexml/loggers/LoggerParser.java
@@ -1,7 +1,7 @@
 /*
  * LoggerParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
@@ -102,8 +102,7 @@ public class LoggerParser extends AbstractXMLObjectParser {
         if (title == null) {
             final BeastVersion version = new BeastVersion();
 
-            title = "BEAST " + version.getVersionString() +
-                    ", " + version.getBuildString() + "\n" +
+            title = "BEAST " + version.getVersionString() + "\n" +
                     (header != null ? header + "\n" : "") +
                     "Generated " + (new Date()).toString() + " [seed=" + MathUtils.getSeed() + "]";
         } else {
diff --git a/src/dr/inferencexml/loggers/MLLoggerParser.java b/src/dr/inferencexml/loggers/MLLoggerParser.java
index f1c4adf..45a287b 100644
--- a/src/dr/inferencexml/loggers/MLLoggerParser.java
+++ b/src/dr/inferencexml/loggers/MLLoggerParser.java
@@ -1,3 +1,28 @@
+/*
+ * MLLoggerParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.loggers;
 
 import dr.inference.loggers.*;
diff --git a/src/dr/inferencexml/model/BlockUpperTriangularMatrixParameterParser.java b/src/dr/inferencexml/model/BlockUpperTriangularMatrixParameterParser.java
index eeec9d3..7cf3677 100644
--- a/src/dr/inferencexml/model/BlockUpperTriangularMatrixParameterParser.java
+++ b/src/dr/inferencexml/model/BlockUpperTriangularMatrixParameterParser.java
@@ -1,3 +1,28 @@
+/*
+ * BlockUpperTriangularMatrixParameterParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.BlockUpperTriangularMatrixParameter;
diff --git a/src/dr/inferencexml/model/BooleanLikelihoodParser.java b/src/dr/inferencexml/model/BooleanLikelihoodParser.java
index d78e1c3..a8f8b39 100644
--- a/src/dr/inferencexml/model/BooleanLikelihoodParser.java
+++ b/src/dr/inferencexml/model/BooleanLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * BooleanLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.BooleanLikelihood;
diff --git a/src/dr/inferencexml/model/CompoundLikelihoodParser.java b/src/dr/inferencexml/model/CompoundLikelihoodParser.java
index 2216b23..80cccf7 100644
--- a/src/dr/inferencexml/model/CompoundLikelihoodParser.java
+++ b/src/dr/inferencexml/model/CompoundLikelihoodParser.java
@@ -1,7 +1,7 @@
 /*
  * CompoundLikelihoodParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -25,6 +25,7 @@
 
 package dr.inferencexml.model;
 
+import dr.app.beagle.evomodel.branchmodel.lineagespecific.BeagleBranchLikelihood;
 import dr.inference.model.CompoundLikelihood;
 import dr.inference.model.Likelihood;
 import dr.xml.*;
@@ -72,7 +73,14 @@ public class CompoundLikelihoodParser extends AbstractXMLObjectParser {
         for (int i = 0; i < xo.getChildCount(); i++) {
             final Object child = xo.getChild(i);
             if (child instanceof Likelihood) {
+            	
                 likelihoods.add((Likelihood) child);
+                
+//            } else if (child instanceof BeagleBranchLikelihoods){
+//                
+//            	//TODO
+//            	likelihoods.addAll( ((BeagleBranchLikelihoods)child).getBranchLikelihoods());
+                
             } else {
 
                 throw new XMLParseException("An element (" + child + ") which is not a likelihood has been added to a "
@@ -99,6 +107,9 @@ public class CompoundLikelihoodParser extends AbstractXMLObjectParser {
             compoundLikelihood = new CompoundLikelihood(likelihoods);
         }
 
+//		TODO
+//        System.err.println("CompundLikelihood consists of " + compoundLikelihood.getLikelihoodCount() + " likelihood element(s)");
+        
         return compoundLikelihood;
     }
 
diff --git a/src/dr/inferencexml/model/CompoundParameterParser.java b/src/dr/inferencexml/model/CompoundParameterParser.java
index 4ae078e..14aed93 100644
--- a/src/dr/inferencexml/model/CompoundParameterParser.java
+++ b/src/dr/inferencexml/model/CompoundParameterParser.java
@@ -1,3 +1,28 @@
+/*
+ * CompoundParameterParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.CompoundParameter;
diff --git a/src/dr/inferencexml/model/CompoundSymmetricMatrixParser.java b/src/dr/inferencexml/model/CompoundSymmetricMatrixParser.java
index d364014..9f880fb 100644
--- a/src/dr/inferencexml/model/CompoundSymmetricMatrixParser.java
+++ b/src/dr/inferencexml/model/CompoundSymmetricMatrixParser.java
@@ -1,3 +1,28 @@
+/*
+ * CompoundSymmetricMatrixParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.CompoundSymmetricMatrix;
diff --git a/src/dr/inferencexml/model/CoulombPriorParser.java b/src/dr/inferencexml/model/CoulombPriorParser.java
index 2fd0aeb..4af49ac 100644
--- a/src/dr/inferencexml/model/CoulombPriorParser.java
+++ b/src/dr/inferencexml/model/CoulombPriorParser.java
@@ -1,3 +1,28 @@
+/*
+ * CoulombPriorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.CoulombPrior;
diff --git a/src/dr/inferencexml/model/DefaultModelParser.java b/src/dr/inferencexml/model/DefaultModelParser.java
index 38927da..6105d96 100644
--- a/src/dr/inferencexml/model/DefaultModelParser.java
+++ b/src/dr/inferencexml/model/DefaultModelParser.java
@@ -1,3 +1,28 @@
+/*
+ * DefaultModelParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.DefaultModel;
diff --git a/src/dr/inferencexml/model/DiagonalMatrixParser.java b/src/dr/inferencexml/model/DiagonalMatrixParser.java
index d988cb0..0fed826 100644
--- a/src/dr/inferencexml/model/DiagonalMatrixParser.java
+++ b/src/dr/inferencexml/model/DiagonalMatrixParser.java
@@ -1,3 +1,28 @@
+/*
+ * DiagonalMatrixParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.DiagonalMatrix;
diff --git a/src/dr/inferencexml/model/DifferenceMatrixParameterParser.java b/src/dr/inferencexml/model/DifferenceMatrixParameterParser.java
new file mode 100644
index 0000000..2cf6b59
--- /dev/null
+++ b/src/dr/inferencexml/model/DifferenceMatrixParameterParser.java
@@ -0,0 +1,81 @@
+/*
+ * DifferenceMatrixParameterParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inferencexml.model;
+
+/**
+ * Created by max on 4/23/15.
+ */
+import dr.inference.model.DifferenceMatrixParameter;
+import dr.inference.model.MatrixParameter;
+import dr.inference.model.Parameter;
+import dr.xml.AbstractXMLObjectParser;
+import dr.xml.XMLObject;
+import dr.xml.XMLParseException;
+import dr.xml.XMLSyntaxRule;
+
+public class DifferenceMatrixParameterParser extends AbstractXMLObjectParser {
+
+    public static final String DIFFERENCE_MATRIX_PARAMETER = "differenceMatrixParameter";
+    public static final String PARAMETER1 = "parameter1";
+    public static final String PARAMETER2 = "parameter2";
+
+    @Override
+    public String getParserName() {
+        return DIFFERENCE_MATRIX_PARAMETER;
+    }
+
+    @Override
+    public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+
+        Parameter parameter1 = (Parameter) xo.getElementFirstChild(PARAMETER1);
+        Parameter parameter2 = (Parameter) xo.getElementFirstChild(PARAMETER2);
+//        if(parameter1.getDimension() != parameter2.getDimension()){
+//            throw new XMLParseException("Parameters in ratio '" + xo.getId() + "' must have the same dimension");
+//        }
+
+
+        return new DifferenceMatrixParameter(parameter1, parameter2);
+    }//END: parseXMLObject
+
+    @Override
+    public XMLSyntaxRule[] getSyntaxRules() {
+        //TODO
+        return null;
+    }
+
+    @Override
+    public String getParserDescription() {
+        return DIFFERENCE_MATRIX_PARAMETER;
+    }
+
+    @Override
+    public Class getReturnType() {
+        return Parameter.class;
+    }
+
+
+
+}//END: class
diff --git a/src/dr/inferencexml/model/DifferenceParameterParser.java b/src/dr/inferencexml/model/DifferenceParameterParser.java
new file mode 100644
index 0000000..ef094d2
--- /dev/null
+++ b/src/dr/inferencexml/model/DifferenceParameterParser.java
@@ -0,0 +1,80 @@
+/*
+ * ProductParameterParser.java
+ *
+ * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inferencexml.model;
+
+import dr.inference.model.DifferenceParameter;
+import dr.inference.model.Parameter;
+import dr.inference.model.ProductParameter;
+import dr.xml.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ */
+public class DifferenceParameterParser extends AbstractXMLObjectParser {
+
+    public static final String DIFFERENCE_PARAMETER = "differenceParameter";
+
+    public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+
+        List<Parameter> paramList = new ArrayList<Parameter>();
+        int dim = -1;
+        for (int i = 0; i < xo.getChildCount(); ++i) {
+            Parameter parameter = (Parameter) xo.getChild(i);
+            if (dim == -1) {
+                dim = parameter.getDimension();
+            } else {
+                if (parameter.getDimension() != dim) {
+                    throw new XMLParseException("All parameters in difference '" + xo.getId() + "' must be the same length");
+                }
+            }
+            paramList.add(parameter);
+        }
+
+        return new DifferenceParameter(paramList);
+    }
+
+    public XMLSyntaxRule[] getSyntaxRules() {
+        return rules;
+    }
+
+    private final XMLSyntaxRule[] rules = {
+            new ElementRule(Parameter.class,1,Integer.MAX_VALUE),
+    };
+
+    public String getParserDescription() {
+        return "A element-wise difference of parameters.";
+    }
+
+    public Class getReturnType() {
+        return Parameter.class;
+    }
+
+    public String getParserName() {
+        return DIFFERENCE_PARAMETER;
+    }
+}
diff --git a/src/dr/inferencexml/model/DifferenceStatisticParser.java b/src/dr/inferencexml/model/DifferenceStatisticParser.java
index d8d933c..ffb440b 100644
--- a/src/dr/inferencexml/model/DifferenceStatisticParser.java
+++ b/src/dr/inferencexml/model/DifferenceStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * DifferenceStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.DifferenceStatistic;
diff --git a/src/dr/inferencexml/model/DummyLikelihoodParser.java b/src/dr/inferencexml/model/DummyLikelihoodParser.java
index 4f2e9a5..76124f5 100644
--- a/src/dr/inferencexml/model/DummyLikelihoodParser.java
+++ b/src/dr/inferencexml/model/DummyLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * DummyLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.DefaultModel;
diff --git a/src/dr/inferencexml/model/DuplicatedParameterParser.java b/src/dr/inferencexml/model/DuplicatedParameterParser.java
index 81641ea..3ace755 100644
--- a/src/dr/inferencexml/model/DuplicatedParameterParser.java
+++ b/src/dr/inferencexml/model/DuplicatedParameterParser.java
@@ -1,3 +1,28 @@
+/*
+ * DuplicatedParameterParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.DuplicatedParameter;
diff --git a/src/dr/inferencexml/model/ExponentialStatisticParser.java b/src/dr/inferencexml/model/ExponentialStatisticParser.java
index 9fbfe93..6d90c74 100644
--- a/src/dr/inferencexml/model/ExponentialStatisticParser.java
+++ b/src/dr/inferencexml/model/ExponentialStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * ExponentialStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.ExponentialStatistic;
diff --git a/src/dr/inferencexml/model/ExpressionStatisticParser.java b/src/dr/inferencexml/model/ExpressionStatisticParser.java
index 5f8a721..3181386 100644
--- a/src/dr/inferencexml/model/ExpressionStatisticParser.java
+++ b/src/dr/inferencexml/model/ExpressionStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * ExpressionStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.ExpressionStatistic;
diff --git a/src/dr/inferencexml/model/IndianBuffetProcessPriorParser.java b/src/dr/inferencexml/model/IndianBuffetProcessPriorParser.java
new file mode 100644
index 0000000..46e4261
--- /dev/null
+++ b/src/dr/inferencexml/model/IndianBuffetProcessPriorParser.java
@@ -0,0 +1,96 @@
+/*
+ * IndianBuffetProcessPriorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inferencexml.model;
+
+import dr.inference.model.IndianBuffetProcessPrior;
+import dr.inference.model.MatrixParameter;
+import dr.inference.model.Parameter;
+import dr.xml.*;
+
+/**
+ * @author Max Tolkoff
+ */
+public class IndianBuffetProcessPriorParser extends AbstractXMLObjectParser {
+    public static final String INDIAN_BUFFET_PROCESS="IndianBuffetProcess";
+    public static final String BETA="beta";
+    public static final String ALPHA="alpha";
+    public static final String DATA="data";
+
+
+    @Override
+    public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+        Parameter alpha=(Parameter) xo.getChild(ALPHA).getChild(0);
+        MatrixParameter data=(MatrixParameter) xo.getChild(DATA).getChild(0);
+        Parameter beta;
+        if(xo.hasChildNamed(BETA))
+        {
+            beta=(Parameter) xo.getChild(BETA).getChild(0);
+        }
+        else
+        {
+            beta=new Parameter.Default(1);
+        }
+        return new IndianBuffetProcessPrior(alpha, beta, data);
+    }
+
+    @Override
+    public XMLSyntaxRule[] getSyntaxRules() {
+        return rules;
+    }
+
+    private final XMLSyntaxRule[] rules = {
+            new ElementRule(BETA,
+                    new XMLSyntaxRule[]{
+                            new ElementRule(Parameter.class)
+                    }
+            , true),
+            new ElementRule(ALPHA,
+                    new XMLSyntaxRule[]{
+                            new ElementRule(Parameter.class)
+                    }
+            ),
+            new ElementRule(DATA,
+                    new XMLSyntaxRule[]{
+                            new ElementRule(MatrixParameter.class)
+                    }
+            )
+    };
+
+    @Override
+    public String getParserDescription() {
+        return "Indian Buffet Process prior on a binary matrix parameter";
+    }
+
+    @Override
+    public Class getReturnType() {
+        return IndianBuffetProcessPrior.class;
+    }
+
+    @Override
+    public String getParserName() {
+        return INDIAN_BUFFET_PROCESS;
+    }
+}
diff --git a/src/dr/inferencexml/model/JointParameterParser.java b/src/dr/inferencexml/model/JointParameterParser.java
index 13ca9a8..0a124e2 100644
--- a/src/dr/inferencexml/model/JointParameterParser.java
+++ b/src/dr/inferencexml/model/JointParameterParser.java
@@ -1,3 +1,28 @@
+/*
+ * JointParameterParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.CompoundParameter;
diff --git a/src/dr/inferencexml/model/LatentFactorModelParser.java b/src/dr/inferencexml/model/LatentFactorModelParser.java
index f5fa713..372b21c 100644
--- a/src/dr/inferencexml/model/LatentFactorModelParser.java
+++ b/src/dr/inferencexml/model/LatentFactorModelParser.java
@@ -1,7 +1,7 @@
 /*
  * LatentFactorModelParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/model/LikelihoodBenchmarkerParser.java b/src/dr/inferencexml/model/LikelihoodBenchmarkerParser.java
index 0a5055f..be3e02b 100644
--- a/src/dr/inferencexml/model/LikelihoodBenchmarkerParser.java
+++ b/src/dr/inferencexml/model/LikelihoodBenchmarkerParser.java
@@ -1,7 +1,7 @@
 /*
  * LikelihoodBenchmarkerParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/inferencexml/model/LogarithmStatisticParser.java b/src/dr/inferencexml/model/LogarithmStatisticParser.java
index 46f7ffb..033e73a 100644
--- a/src/dr/inferencexml/model/LogarithmStatisticParser.java
+++ b/src/dr/inferencexml/model/LogarithmStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * LogarithmStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.LogarithmStatistic;
diff --git a/src/dr/inferencexml/model/MarkovRandomFieldMatrixParser.java b/src/dr/inferencexml/model/MarkovRandomFieldMatrixParser.java
index ff84dd4..b45857d 100644
--- a/src/dr/inferencexml/model/MarkovRandomFieldMatrixParser.java
+++ b/src/dr/inferencexml/model/MarkovRandomFieldMatrixParser.java
@@ -1,7 +1,7 @@
 /*
  * MarkovRandomFieldMatrixParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -39,6 +39,8 @@ public class MarkovRandomFieldMatrixParser extends AbstractXMLObjectParser {
     public static final String DIAGONAL = "diagonal";
     public static final String OFF_DIAGONAL = "offDiagonal";
     public static final String AS_CORRELATION = "asCorrelation";
+    public static final String NUGGET = "nugget";
+    public static final String DIM = "dim";
 
     public String getParserName() {
         return MATRIX_PARAMETER;
@@ -46,6 +48,10 @@ public class MarkovRandomFieldMatrixParser extends AbstractXMLObjectParser {
 
     public Object parseXMLObject(XMLObject xo) throws XMLParseException {
 
+        String name = xo.getId();
+
+        final int dim = xo.getIntegerAttribute(DIM);
+
         XMLObject cxo = xo.getChild(DIAGONAL);
         Parameter diagonalParameter = (Parameter) cxo.getChild(Parameter.class);
         Transform.ParsedTransform tmp = (Transform.ParsedTransform) cxo.getChild(Transform.ParsedTransform.class);
@@ -58,7 +64,15 @@ public class MarkovRandomFieldMatrixParser extends AbstractXMLObjectParser {
 
         boolean asCorrelation = xo.getAttribute(AS_CORRELATION, false);
 
-        return new MarkovRandomFieldMatrix(diagonalParameter, offDiagonalParameter, asCorrelation,
+        if (diagonalParameter.getDimension() != 1  || offDiagonalParameter.getDimension() != 1) {
+            throw new XMLParseException("Wrong parameter dimensions for GMRF");
+        }
+
+        cxo = xo.getChild(NUGGET);
+        Parameter nuggetParameter = (Parameter) cxo.getChild(Parameter.class);
+
+        return new MarkovRandomFieldMatrix(name, dim, diagonalParameter, offDiagonalParameter, nuggetParameter,
+                asCorrelation,
                 diagonalTransform, offDiagonalTransform);
     }
 
@@ -85,7 +99,12 @@ public class MarkovRandomFieldMatrixParser extends AbstractXMLObjectParser {
                             new ElementRule(Parameter.class),
                             new ElementRule(Transform.ParsedTransform.class, true),
                     }),
-            AttributeRule.newBooleanRule(AS_CORRELATION, true)
+            new ElementRule(NUGGET,
+                    new XMLSyntaxRule[] {
+                            new ElementRule(Parameter.class),
+                    }),
+            AttributeRule.newBooleanRule(AS_CORRELATION, true),
+            AttributeRule.newIntegerRule(DIM),
     };
 
     public Class getReturnType() {
diff --git a/src/dr/inferencexml/model/MaskedMatrixParameterParser.java b/src/dr/inferencexml/model/MaskedMatrixParameterParser.java
new file mode 100644
index 0000000..349aee4
--- /dev/null
+++ b/src/dr/inferencexml/model/MaskedMatrixParameterParser.java
@@ -0,0 +1,125 @@
+/*
+ * MaskedMatrixParameterParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inferencexml.model;
+
+import dr.inference.model.MaskedParameter;
+import dr.inference.model.MatrixParameter;
+import dr.inference.model.Parameter;
+import dr.xml.*;
+
+/**
+ * @author Marc A. Suchard
+ */
+public class MaskedMatrixParameterParser extends AbstractXMLObjectParser {
+
+    public static final String MASKED_MATRIX_PARAMETER = "maskedMatrixParameter";
+    public static final String MASKING = "mask";
+    public static final String COMPLEMENT = "complement";
+    public static final String FROM = "from";
+    public static final String TO = "to";
+    public static final String EVERY = "every";
+
+    public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+
+        MatrixParameter matrix = (MatrixParameter) xo.getChild(MatrixParameter.class);
+
+
+//        System.err.println("colDim " + matrix.getColumnDimension());
+//        System.err.println("rowDim " + matrix.getRowDimension());
+//        System.err.println("parDim " + matrix.getParameterCount());
+
+
+        Parameter mask;
+
+        XMLObject cxo = xo.getChild(MASKING);
+        if (cxo != null) {
+            mask = (Parameter) cxo.getChild(Parameter.class);
+        } else {
+            int from = xo.getAttribute(FROM, 1) - 1;
+            int to = xo.getAttribute(TO, matrix.getRowDimension()) - 1;
+            int every = xo.getAttribute(EVERY, 1);
+
+            if (from < 0) throw new XMLParseException("illegal 'from' attribute in " + MASKED_MATRIX_PARAMETER
+                    + " element");
+            if (to < 0 || to < from) throw new XMLParseException("illegal 'to' attribute in "
+                    + MASKED_MATRIX_PARAMETER + " element");
+            if (every <= 0) throw new XMLParseException("illegal 'every' attribute in " + MASKED_MATRIX_PARAMETER
+                    + " element");
+
+            mask = new Parameter.Default(matrix.getRowDimension(), 0.0);
+            for (int i = from; i <= to; i += every) {
+                mask.setParameterValue(i, 1.0);
+            }
+        }
+
+        if (mask.getDimension() != matrix.getRowDimension())
+            throw new XMLParseException("rowDim(" + matrix.getId() + ") != dim(" + mask.getId() + ")");
+
+        boolean ones = !xo.getAttribute(COMPLEMENT, false);
+
+        MaskedParameter[] maskedParameters = new MaskedParameter[matrix.getColumnDimension()];
+        for (int col = 0; col < matrix.getColumnDimension(); ++col) {
+            maskedParameters[col] = new MaskedParameter(matrix.getParameter(col));
+            maskedParameters[col].addMask(mask, ones);
+        }
+
+        MatrixParameter maskedMatrix = new MatrixParameter(matrix.getId() + ".masked", maskedParameters);
+
+//        for (int col = 0; col < matrix.getColumnDimension(); ++col) {
+//            maskedMatrix.addParameter(matrix.getParameter(col));
+//        }
+
+        return maskedMatrix;
+    }
+
+    public XMLSyntaxRule[] getSyntaxRules() {
+        return rules;
+    }
+
+    private final XMLSyntaxRule[] rules = {
+            new ElementRule(MatrixParameter.class),
+            new ElementRule(MASKING,
+                    new XMLSyntaxRule[]{
+                            new ElementRule(Parameter.class)
+                    }, true),
+            AttributeRule.newBooleanRule(COMPLEMENT, true),
+            AttributeRule.newIntegerRule(FROM, true),
+            AttributeRule.newIntegerRule(TO, true),
+            AttributeRule.newIntegerRule(EVERY, true),
+    };
+
+    public String getParserDescription() {
+        return "A masked matrix parameter.";
+    }
+
+    public Class getReturnType() {
+        return MatrixParameter.class;
+    }
+
+    public String getParserName() {
+        return MASKED_MATRIX_PARAMETER;
+    }
+}
diff --git a/src/dr/inferencexml/model/MaskedParameterParser.java b/src/dr/inferencexml/model/MaskedParameterParser.java
index f65d562..39d3943 100644
--- a/src/dr/inferencexml/model/MaskedParameterParser.java
+++ b/src/dr/inferencexml/model/MaskedParameterParser.java
@@ -1,3 +1,28 @@
+/*
+ * MaskedParameterParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.MaskedParameter;
diff --git a/src/dr/inferencexml/model/MatrixMatrixProductParser.java b/src/dr/inferencexml/model/MatrixMatrixProductParser.java
index 8396454..1e96e4f 100644
--- a/src/dr/inferencexml/model/MatrixMatrixProductParser.java
+++ b/src/dr/inferencexml/model/MatrixMatrixProductParser.java
@@ -1,3 +1,28 @@
+/*
+ * MatrixMatrixProductParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.CompoundParameter;
diff --git a/src/dr/inferencexml/model/MatrixVectorProductParameterParser.java b/src/dr/inferencexml/model/MatrixVectorProductParameterParser.java
index 968e791..0d31d9d 100644
--- a/src/dr/inferencexml/model/MatrixVectorProductParameterParser.java
+++ b/src/dr/inferencexml/model/MatrixVectorProductParameterParser.java
@@ -1,7 +1,7 @@
 /*
  * MatrixVectorProductParameterParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/model/MeanStatisticParser.java b/src/dr/inferencexml/model/MeanStatisticParser.java
index 389f7af..ca6d231 100644
--- a/src/dr/inferencexml/model/MeanStatisticParser.java
+++ b/src/dr/inferencexml/model/MeanStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * MeanStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.MeanStatistic;
diff --git a/src/dr/inferencexml/model/NegativeStatisticParser.java b/src/dr/inferencexml/model/NegativeStatisticParser.java
index 28700f3..f12efd1 100644
--- a/src/dr/inferencexml/model/NegativeStatisticParser.java
+++ b/src/dr/inferencexml/model/NegativeStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * NegativeStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.NegativeStatistic;
diff --git a/src/dr/inferencexml/model/NotBooleanStatisticParser.java b/src/dr/inferencexml/model/NotBooleanStatisticParser.java
index 0ac6faa..6bd5072 100644
--- a/src/dr/inferencexml/model/NotBooleanStatisticParser.java
+++ b/src/dr/inferencexml/model/NotBooleanStatisticParser.java
@@ -1,7 +1,7 @@
 /*
  * NotBooleanStatisticParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/model/NotStatisticParser.java b/src/dr/inferencexml/model/NotStatisticParser.java
index eae116a..900b90b 100644
--- a/src/dr/inferencexml/model/NotStatisticParser.java
+++ b/src/dr/inferencexml/model/NotStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * NotStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.NotStatistic;
diff --git a/src/dr/inferencexml/model/OneOnX3PriorParser.java b/src/dr/inferencexml/model/OneOnX3PriorParser.java
index c122e57..effe833 100644
--- a/src/dr/inferencexml/model/OneOnX3PriorParser.java
+++ b/src/dr/inferencexml/model/OneOnX3PriorParser.java
@@ -1,3 +1,28 @@
+/*
+ * OneOnX3PriorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.xml.*;
diff --git a/src/dr/inferencexml/model/OneOnXPriorParser.java b/src/dr/inferencexml/model/OneOnXPriorParser.java
index cfa9d22..3ca3a99 100644
--- a/src/dr/inferencexml/model/OneOnXPriorParser.java
+++ b/src/dr/inferencexml/model/OneOnXPriorParser.java
@@ -1,3 +1,28 @@
+/*
+ * OneOnXPriorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.OneOnXPrior;
diff --git a/src/dr/inferencexml/model/ProductParameterParser.java b/src/dr/inferencexml/model/ProductParameterParser.java
index e63356c..864f48b 100644
--- a/src/dr/inferencexml/model/ProductParameterParser.java
+++ b/src/dr/inferencexml/model/ProductParameterParser.java
@@ -1,7 +1,7 @@
 /*
  * ProductParameterParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/model/ProductStatisticParser.java b/src/dr/inferencexml/model/ProductStatisticParser.java
index 008aa5c..394c13d 100644
--- a/src/dr/inferencexml/model/ProductStatisticParser.java
+++ b/src/dr/inferencexml/model/ProductStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * ProductStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.ProductStatistic;
diff --git a/src/dr/inferencexml/model/RPNcalculatorStatisticParser.java b/src/dr/inferencexml/model/RPNcalculatorStatisticParser.java
index 85eeaec..0b83682 100644
--- a/src/dr/inferencexml/model/RPNcalculatorStatisticParser.java
+++ b/src/dr/inferencexml/model/RPNcalculatorStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * RPNcalculatorStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.RPNcalculatorStatistic;
diff --git a/src/dr/inferencexml/model/RatioStatisticParser.java b/src/dr/inferencexml/model/RatioStatisticParser.java
index 20846ba..56d7f80 100644
--- a/src/dr/inferencexml/model/RatioStatisticParser.java
+++ b/src/dr/inferencexml/model/RatioStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * RatioStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.RatioStatistic;
diff --git a/src/dr/inferencexml/model/ReciprocalStatisticParser.java b/src/dr/inferencexml/model/ReciprocalStatisticParser.java
index 3f4748b..e03c7d4 100644
--- a/src/dr/inferencexml/model/ReciprocalStatisticParser.java
+++ b/src/dr/inferencexml/model/ReciprocalStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * ReciprocalStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.ReciprocalStatistic;
diff --git a/src/dr/inferencexml/model/SubStatisticParser.java b/src/dr/inferencexml/model/SubStatisticParser.java
index e02202c..859768e 100644
--- a/src/dr/inferencexml/model/SubStatisticParser.java
+++ b/src/dr/inferencexml/model/SubStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * SubStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.Statistic;
diff --git a/src/dr/inferencexml/model/SumStatisticParser.java b/src/dr/inferencexml/model/SumStatisticParser.java
index 4fafb24..4310868 100644
--- a/src/dr/inferencexml/model/SumStatisticParser.java
+++ b/src/dr/inferencexml/model/SumStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * SumStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.Statistic;
diff --git a/src/dr/inferencexml/model/TestStatisticParser.java b/src/dr/inferencexml/model/TestStatisticParser.java
index 6dececf..9ad10e2 100644
--- a/src/dr/inferencexml/model/TestStatisticParser.java
+++ b/src/dr/inferencexml/model/TestStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * TestStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.Statistic;
diff --git a/src/dr/inferencexml/model/ThreadedCompoundLikelihoodParser.java b/src/dr/inferencexml/model/ThreadedCompoundLikelihoodParser.java
index a698015..7739f79 100644
--- a/src/dr/inferencexml/model/ThreadedCompoundLikelihoodParser.java
+++ b/src/dr/inferencexml/model/ThreadedCompoundLikelihoodParser.java
@@ -1,3 +1,28 @@
+/*
+ * ThreadedCompoundLikelihoodParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.Likelihood;
diff --git a/src/dr/inferencexml/model/TransformedParameterParser.java b/src/dr/inferencexml/model/TransformedParameterParser.java
index dc79088..0fa924e 100644
--- a/src/dr/inferencexml/model/TransformedParameterParser.java
+++ b/src/dr/inferencexml/model/TransformedParameterParser.java
@@ -1,7 +1,7 @@
 /*
  * TransformedParameterParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/model/VarianceStatisticParser.java b/src/dr/inferencexml/model/VarianceStatisticParser.java
index ad20297..1f7993c 100644
--- a/src/dr/inferencexml/model/VarianceStatisticParser.java
+++ b/src/dr/inferencexml/model/VarianceStatisticParser.java
@@ -1,3 +1,28 @@
+/*
+ * VarianceStatisticParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.model;
 
 import dr.inference.model.Statistic;
diff --git a/src/dr/inferencexml/operators/ApplyOperatorOnceParser.java b/src/dr/inferencexml/operators/ApplyOperatorOnceParser.java
index a568036..fb6cc3f 100644
--- a/src/dr/inferencexml/operators/ApplyOperatorOnceParser.java
+++ b/src/dr/inferencexml/operators/ApplyOperatorOnceParser.java
@@ -1,7 +1,7 @@
 /*
  * ApplyOperatorOnceParser.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/operators/BitFlipOperatorParser.java b/src/dr/inferencexml/operators/BitFlipOperatorParser.java
index 4689ac8..0e95eba 100644
--- a/src/dr/inferencexml/operators/BitFlipOperatorParser.java
+++ b/src/dr/inferencexml/operators/BitFlipOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * BitFlipOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.evomodel.tree.TreeModel;
diff --git a/src/dr/inferencexml/operators/BitMoveOperatorParser.java b/src/dr/inferencexml/operators/BitMoveOperatorParser.java
index f090499..73cecce 100644
--- a/src/dr/inferencexml/operators/BitMoveOperatorParser.java
+++ b/src/dr/inferencexml/operators/BitMoveOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * BitMoveOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/BitSwapOperatorParser.java b/src/dr/inferencexml/operators/BitSwapOperatorParser.java
index 9b5ce7c..3313964 100644
--- a/src/dr/inferencexml/operators/BitSwapOperatorParser.java
+++ b/src/dr/inferencexml/operators/BitSwapOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * BitSwapOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/CenteredScaleOperatorParser.java b/src/dr/inferencexml/operators/CenteredScaleOperatorParser.java
index fbd65b7..c725db9 100644
--- a/src/dr/inferencexml/operators/CenteredScaleOperatorParser.java
+++ b/src/dr/inferencexml/operators/CenteredScaleOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * CenteredScaleOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/DeltaExchangeOperatorParser.java b/src/dr/inferencexml/operators/DeltaExchangeOperatorParser.java
index fb6b7a5..06fc524 100644
--- a/src/dr/inferencexml/operators/DeltaExchangeOperatorParser.java
+++ b/src/dr/inferencexml/operators/DeltaExchangeOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * DeltaExchangeOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/DeltaMixOperatorParser.java b/src/dr/inferencexml/operators/DeltaMixOperatorParser.java
index 52768e4..babae14 100644
--- a/src/dr/inferencexml/operators/DeltaMixOperatorParser.java
+++ b/src/dr/inferencexml/operators/DeltaMixOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * DeltaMixOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/DirtyLikelihoodOperatorParser.java b/src/dr/inferencexml/operators/DirtyLikelihoodOperatorParser.java
index 518168f..9c7030f 100644
--- a/src/dr/inferencexml/operators/DirtyLikelihoodOperatorParser.java
+++ b/src/dr/inferencexml/operators/DirtyLikelihoodOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * DirtyLikelihoodOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Likelihood;
diff --git a/src/dr/inferencexml/operators/EllipticalSliceOperatorParser.java b/src/dr/inferencexml/operators/EllipticalSliceOperatorParser.java
index 56bed27..19952b2 100644
--- a/src/dr/inferencexml/operators/EllipticalSliceOperatorParser.java
+++ b/src/dr/inferencexml/operators/EllipticalSliceOperatorParser.java
@@ -1,7 +1,7 @@
 /*
  * EllipticalSliceOperatorParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -27,6 +27,7 @@ package dr.inferencexml.operators;
 
 import dr.inference.distribution.MultivariateDistributionLikelihood;
 import dr.inference.distribution.MultivariateNormalDistributionModel;
+import dr.inference.model.CompoundParameter;
 import dr.inference.model.Parameter;
 import dr.inference.operators.EllipticalSliceOperator;
 import dr.inference.operators.MCMCOperator;
@@ -39,6 +40,11 @@ import dr.xml.*;
 public class EllipticalSliceOperatorParser extends AbstractXMLObjectParser {
 
     public static final String ELLIPTICAL_SLICE_SAMPLER = "ellipticalSliceSampler";
+    public static final String SIGNAL_CONSTITUENT_PARAMETERS = "signalConstituentParameters";
+    public static final String BRACKET_ANGLE = "bracketAngle";
+    public static final String TRANSLATION_INVARIANT = "translationInvariant";
+    public static final String ROTATION_INVARIANT = "rotationInvariant";
+
     public static final String DRAW_BY_ROW = "drawByRow";  // TODO What is this?
 
     public String getParserName() {
@@ -54,6 +60,14 @@ public class EllipticalSliceOperatorParser extends AbstractXMLObjectParser {
             drawByRowTemp=xo.getBooleanAttribute(DRAW_BY_ROW);
         final boolean drawByRow=drawByRowTemp;
 
+        boolean signal = xo.getAttribute(SIGNAL_CONSTITUENT_PARAMETERS, true);
+        if (!signal && !(variable instanceof CompoundParameter)) signal = true;
+
+        double bracketAngle = xo.getAttribute(BRACKET_ANGLE, 0.0);
+
+        boolean translationInvariant = xo.getAttribute(TRANSLATION_INVARIANT, false);
+        boolean rotationInvariant = xo.getAttribute(ROTATION_INVARIANT, false);
+
         GaussianProcessRandomGenerator gaussianProcess = (GaussianProcessRandomGenerator)
                 xo.getChild(GaussianProcessRandomGenerator.class);
 
@@ -74,7 +88,9 @@ public class EllipticalSliceOperatorParser extends AbstractXMLObjectParser {
                 gaussianProcess = (MultivariateNormalDistributionModel) likelihood.getDistribution();
 
         }
-        EllipticalSliceOperator operator = new EllipticalSliceOperator(variable, gaussianProcess, drawByRow);
+        EllipticalSliceOperator operator = new EllipticalSliceOperator(variable, gaussianProcess,
+                drawByRow, signal, bracketAngle,
+                translationInvariant, rotationInvariant);
         operator.setWeight(weight);
         return operator;
     }
@@ -97,6 +113,12 @@ public class EllipticalSliceOperatorParser extends AbstractXMLObjectParser {
 
     private final XMLSyntaxRule[] rules = {
             AttributeRule.newDoubleRule(MCMCOperator.WEIGHT),
+            AttributeRule.newBooleanRule(SIGNAL_CONSTITUENT_PARAMETERS, true),
+            AttributeRule.newDoubleRule(BRACKET_ANGLE, true),
+
+            AttributeRule.newBooleanRule(TRANSLATION_INVARIANT, true),
+            AttributeRule.newBooleanRule(ROTATION_INVARIANT, true),
+
             new ElementRule(Parameter.class),
             new XORRule(
                     new ElementRule(GaussianProcessRandomGenerator.class),
diff --git a/src/dr/inferencexml/operators/FactorGibbsOperatorParser.java b/src/dr/inferencexml/operators/FactorGibbsOperatorParser.java
index 85c2693..1eb6a08 100644
--- a/src/dr/inferencexml/operators/FactorGibbsOperatorParser.java
+++ b/src/dr/inferencexml/operators/FactorGibbsOperatorParser.java
@@ -1,7 +1,7 @@
 /*
  * FactorGibbsOperatorParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/operators/FactorIndependenceOperatorParser.java b/src/dr/inferencexml/operators/FactorIndependenceOperatorParser.java
index 4f6d2a8..02d18b2 100644
--- a/src/dr/inferencexml/operators/FactorIndependenceOperatorParser.java
+++ b/src/dr/inferencexml/operators/FactorIndependenceOperatorParser.java
@@ -1,7 +1,7 @@
 /*
  * FactorIndependenceOperatorParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/operators/FactorOperatorParser.java b/src/dr/inferencexml/operators/FactorOperatorParser.java
index 8683074..80752eb 100644
--- a/src/dr/inferencexml/operators/FactorOperatorParser.java
+++ b/src/dr/inferencexml/operators/FactorOperatorParser.java
@@ -1,7 +1,7 @@
 /*
  * FactorOperatorParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/operators/HierarchicalBitFlipOperatorParser.java b/src/dr/inferencexml/operators/HierarchicalBitFlipOperatorParser.java
index 27a0d6e..783d841 100644
--- a/src/dr/inferencexml/operators/HierarchicalBitFlipOperatorParser.java
+++ b/src/dr/inferencexml/operators/HierarchicalBitFlipOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * HierarchicalBitFlipOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/JointOperatorParser.java b/src/dr/inferencexml/operators/JointOperatorParser.java
index b0b27c9..a7ed7c5 100644
--- a/src/dr/inferencexml/operators/JointOperatorParser.java
+++ b/src/dr/inferencexml/operators/JointOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * JointOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.operators.JointOperator;
diff --git a/src/dr/inferencexml/operators/LatentFactorModelPrecisionGibbsOperatorParser.java b/src/dr/inferencexml/operators/LatentFactorModelPrecisionGibbsOperatorParser.java
index 6856663..d572062 100644
--- a/src/dr/inferencexml/operators/LatentFactorModelPrecisionGibbsOperatorParser.java
+++ b/src/dr/inferencexml/operators/LatentFactorModelPrecisionGibbsOperatorParser.java
@@ -1,7 +1,7 @@
 /*
  * LatentFactorModelPrecisionGibbsOperatorParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/operators/LoadingsGibbsOperatorParser.java b/src/dr/inferencexml/operators/LoadingsGibbsOperatorParser.java
index b799b2b..e41ccb0 100644
--- a/src/dr/inferencexml/operators/LoadingsGibbsOperatorParser.java
+++ b/src/dr/inferencexml/operators/LoadingsGibbsOperatorParser.java
@@ -1,7 +1,7 @@
 /*
  * LoadingsGibbsOperatorParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/operators/LoadingsIndependenceOperatorParser.java b/src/dr/inferencexml/operators/LoadingsIndependenceOperatorParser.java
index f30aa5e..80c584c 100644
--- a/src/dr/inferencexml/operators/LoadingsIndependenceOperatorParser.java
+++ b/src/dr/inferencexml/operators/LoadingsIndependenceOperatorParser.java
@@ -1,7 +1,7 @@
 /*
  * LoadingsIndependenceOperatorParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/operators/LogRandomWalkOperatorParser.java b/src/dr/inferencexml/operators/LogRandomWalkOperatorParser.java
index a2ded3a..aaee2f2 100644
--- a/src/dr/inferencexml/operators/LogRandomWalkOperatorParser.java
+++ b/src/dr/inferencexml/operators/LogRandomWalkOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * LogRandomWalkOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/MVOUCovarianceOperatorParser.java b/src/dr/inferencexml/operators/MVOUCovarianceOperatorParser.java
index 4d407c6..a6f88f3 100644
--- a/src/dr/inferencexml/operators/MVOUCovarianceOperatorParser.java
+++ b/src/dr/inferencexml/operators/MVOUCovarianceOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * MVOUCovarianceOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.MatrixParameter;
diff --git a/src/dr/inferencexml/operators/MicrosatUpDownOperatorParser.java b/src/dr/inferencexml/operators/MicrosatUpDownOperatorParser.java
index 3bff9a8..5a18098 100644
--- a/src/dr/inferencexml/operators/MicrosatUpDownOperatorParser.java
+++ b/src/dr/inferencexml/operators/MicrosatUpDownOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * MicrosatUpDownOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/MicrosatelliteModelSelectOperatorParser.java b/src/dr/inferencexml/operators/MicrosatelliteModelSelectOperatorParser.java
index 4886c7a..dee6a14 100644
--- a/src/dr/inferencexml/operators/MicrosatelliteModelSelectOperatorParser.java
+++ b/src/dr/inferencexml/operators/MicrosatelliteModelSelectOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * MicrosatelliteModelSelectOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/MsatBitFlipOperatorParser.java b/src/dr/inferencexml/operators/MsatBitFlipOperatorParser.java
index cd2d38a..3162b57 100644
--- a/src/dr/inferencexml/operators/MsatBitFlipOperatorParser.java
+++ b/src/dr/inferencexml/operators/MsatBitFlipOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * MsatBitFlipOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.xml.*;
diff --git a/src/dr/inferencexml/operators/MsatFullAncestryImportanceSamplingOperatorParser.java b/src/dr/inferencexml/operators/MsatFullAncestryImportanceSamplingOperatorParser.java
index 597ac0d..ab02a48 100644
--- a/src/dr/inferencexml/operators/MsatFullAncestryImportanceSamplingOperatorParser.java
+++ b/src/dr/inferencexml/operators/MsatFullAncestryImportanceSamplingOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * MsatFullAncestryImportanceSamplingOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.xml.*;
diff --git a/src/dr/inferencexml/operators/MsatSingleAncestralStateGibbsOperatorParser.java b/src/dr/inferencexml/operators/MsatSingleAncestralStateGibbsOperatorParser.java
index b9e1615..fb64019 100644
--- a/src/dr/inferencexml/operators/MsatSingleAncestralStateGibbsOperatorParser.java
+++ b/src/dr/inferencexml/operators/MsatSingleAncestralStateGibbsOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * MsatSingleAncestralStateGibbsOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.operators.MCMCOperator;
diff --git a/src/dr/inferencexml/operators/MultipleRandomWalkIntegerOperatorParser.java b/src/dr/inferencexml/operators/MultipleRandomWalkIntegerOperatorParser.java
index 912c893..b3a47ab 100644
--- a/src/dr/inferencexml/operators/MultipleRandomWalkIntegerOperatorParser.java
+++ b/src/dr/inferencexml/operators/MultipleRandomWalkIntegerOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * MultipleRandomWalkIntegerOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/MultivariateNormalGibbsOperatorParser.java b/src/dr/inferencexml/operators/MultivariateNormalGibbsOperatorParser.java
index 8b5b7e5..5b95dfd 100644
--- a/src/dr/inferencexml/operators/MultivariateNormalGibbsOperatorParser.java
+++ b/src/dr/inferencexml/operators/MultivariateNormalGibbsOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * MultivariateNormalGibbsOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.distribution.MultivariateDistributionLikelihood;
diff --git a/src/dr/inferencexml/operators/RandomWalkIntegerNodeHeightWeightedOperatorParser.java b/src/dr/inferencexml/operators/RandomWalkIntegerNodeHeightWeightedOperatorParser.java
index 85e7ab6..8aa09ca 100644
--- a/src/dr/inferencexml/operators/RandomWalkIntegerNodeHeightWeightedOperatorParser.java
+++ b/src/dr/inferencexml/operators/RandomWalkIntegerNodeHeightWeightedOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * RandomWalkIntegerNodeHeightWeightedOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.xml.*;
diff --git a/src/dr/inferencexml/operators/RandomWalkIntegerOperatorParser.java b/src/dr/inferencexml/operators/RandomWalkIntegerOperatorParser.java
index a7a213f..1316ac4 100644
--- a/src/dr/inferencexml/operators/RandomWalkIntegerOperatorParser.java
+++ b/src/dr/inferencexml/operators/RandomWalkIntegerOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * RandomWalkIntegerOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/RandomWalkIntegerSetSizeWeightedOperatorParser.java b/src/dr/inferencexml/operators/RandomWalkIntegerSetSizeWeightedOperatorParser.java
index 55270eb..27860af 100644
--- a/src/dr/inferencexml/operators/RandomWalkIntegerSetSizeWeightedOperatorParser.java
+++ b/src/dr/inferencexml/operators/RandomWalkIntegerSetSizeWeightedOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * RandomWalkIntegerSetSizeWeightedOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.xml.*;
diff --git a/src/dr/inferencexml/operators/RandomWalkOperatorParser.java b/src/dr/inferencexml/operators/RandomWalkOperatorParser.java
index d76c1fe..c162252 100644
--- a/src/dr/inferencexml/operators/RandomWalkOperatorParser.java
+++ b/src/dr/inferencexml/operators/RandomWalkOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * RandomWalkOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/ScaleOperatorParser.java b/src/dr/inferencexml/operators/ScaleOperatorParser.java
index 87f36eb..12bcf86 100644
--- a/src/dr/inferencexml/operators/ScaleOperatorParser.java
+++ b/src/dr/inferencexml/operators/ScaleOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * ScaleOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/SelectorOperatorParser.java b/src/dr/inferencexml/operators/SelectorOperatorParser.java
index f6725c0..863aaa8 100644
--- a/src/dr/inferencexml/operators/SelectorOperatorParser.java
+++ b/src/dr/inferencexml/operators/SelectorOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * SelectorOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/SetOperatorParser.java b/src/dr/inferencexml/operators/SetOperatorParser.java
index fb97c48..ee6e425 100644
--- a/src/dr/inferencexml/operators/SetOperatorParser.java
+++ b/src/dr/inferencexml/operators/SetOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * SetOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/SimpleOperatorScheduleParser.java b/src/dr/inferencexml/operators/SimpleOperatorScheduleParser.java
index 2ecef4d..7529355 100644
--- a/src/dr/inferencexml/operators/SimpleOperatorScheduleParser.java
+++ b/src/dr/inferencexml/operators/SimpleOperatorScheduleParser.java
@@ -1,3 +1,28 @@
+/*
+ * SimpleOperatorScheduleParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.operators.MCMCOperator;
diff --git a/src/dr/inferencexml/operators/SwapOperatorParser.java b/src/dr/inferencexml/operators/SwapOperatorParser.java
index c3f0b1e..f0b5980 100644
--- a/src/dr/inferencexml/operators/SwapOperatorParser.java
+++ b/src/dr/inferencexml/operators/SwapOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * SwapOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/SwapParameterOperatorParser.java b/src/dr/inferencexml/operators/SwapParameterOperatorParser.java
new file mode 100644
index 0000000..a2b5f76
--- /dev/null
+++ b/src/dr/inferencexml/operators/SwapParameterOperatorParser.java
@@ -0,0 +1,89 @@
+/*
+ * SwapParameterOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.inferencexml.operators;
+
+import dr.inference.model.Parameter;
+import dr.inference.operators.SwapParameterGibbsOperator;
+import dr.inference.operators.SwapParameterOperator;
+import dr.xml.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ */
+public class SwapParameterOperatorParser extends AbstractXMLObjectParser {
+
+    public final static String SWAP_OPERATOR = "swapParameterOperator";
+    public static final String FORCE_GIBBS = "forceGibbs";
+    public static final String WEIGHT = "weight";
+
+    public String getParserName() {
+        return SWAP_OPERATOR;
+    }
+
+    public Object parseXMLObject(XMLObject xo) throws XMLParseException {
+
+        List<Parameter> parameterList = new ArrayList<Parameter>();
+
+        for (int i = 0; i < xo.getChildCount(); ++i) {
+            parameterList.add((Parameter) xo.getChild(i));
+        }
+
+        double weight = xo.getDoubleAttribute(WEIGHT);
+        boolean forceGibbs = xo.getAttribute(FORCE_GIBBS, false);
+
+        if (forceGibbs) {
+            return new SwapParameterGibbsOperator(parameterList, weight);
+        } else {
+            return new SwapParameterOperator(parameterList, weight);
+        }
+
+    }
+
+    //************************************************************************
+    // AbstractXMLObjectParser implementation
+    //************************************************************************
+
+    public String getParserDescription() {
+        return "This element represents an operator that swaps values in a multi-dimensional parameter.";
+    }
+
+    public Class getReturnType() {
+        return SwapParameterOperator.class;
+    }
+
+    public XMLSyntaxRule[] getSyntaxRules() {
+        return rules;
+    }
+
+    private XMLSyntaxRule[] rules = new XMLSyntaxRule[]{
+            AttributeRule.newDoubleRule(WEIGHT),
+            AttributeRule.newBooleanRule(FORCE_GIBBS, true),
+            new ElementRule(Parameter.class, 2, Integer.MAX_VALUE)
+    };
+
+}
diff --git a/src/dr/inferencexml/operators/TeamOperatorParser.java b/src/dr/inferencexml/operators/TeamOperatorParser.java
index 57046f7..2180f99 100644
--- a/src/dr/inferencexml/operators/TeamOperatorParser.java
+++ b/src/dr/inferencexml/operators/TeamOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * TeamOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.operators.MCMCOperator;
diff --git a/src/dr/inferencexml/operators/TransformedRandomWalkOperatorParser.java b/src/dr/inferencexml/operators/TransformedRandomWalkOperatorParser.java
index b4e22c6..443dc0d 100644
--- a/src/dr/inferencexml/operators/TransformedRandomWalkOperatorParser.java
+++ b/src/dr/inferencexml/operators/TransformedRandomWalkOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * TransformedRandomWalkOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/TwoPhaseOperatorParser.java b/src/dr/inferencexml/operators/TwoPhaseOperatorParser.java
index 9a4e6c7..e146d62 100644
--- a/src/dr/inferencexml/operators/TwoPhaseOperatorParser.java
+++ b/src/dr/inferencexml/operators/TwoPhaseOperatorParser.java
@@ -1,7 +1,7 @@
 /*
  * TwoPhaseOperatorParser.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/inferencexml/operators/UniformIntegerOperatorParser.java b/src/dr/inferencexml/operators/UniformIntegerOperatorParser.java
index 5aee5f2..85934b8 100644
--- a/src/dr/inferencexml/operators/UniformIntegerOperatorParser.java
+++ b/src/dr/inferencexml/operators/UniformIntegerOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * UniformIntegerOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/UniformOperatorParser.java b/src/dr/inferencexml/operators/UniformOperatorParser.java
index 1dcb3bc..3d7df68 100644
--- a/src/dr/inferencexml/operators/UniformOperatorParser.java
+++ b/src/dr/inferencexml/operators/UniformOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * UniformOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/UpDownOperatorParser.java b/src/dr/inferencexml/operators/UpDownOperatorParser.java
index 6135426..8769a89 100644
--- a/src/dr/inferencexml/operators/UpDownOperatorParser.java
+++ b/src/dr/inferencexml/operators/UpDownOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * UpDownOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.Parameter;
diff --git a/src/dr/inferencexml/operators/ValuesPoolSwapOperatorParser.java b/src/dr/inferencexml/operators/ValuesPoolSwapOperatorParser.java
index 27f2082..33c179a 100644
--- a/src/dr/inferencexml/operators/ValuesPoolSwapOperatorParser.java
+++ b/src/dr/inferencexml/operators/ValuesPoolSwapOperatorParser.java
@@ -1,3 +1,28 @@
+/*
+ * ValuesPoolSwapOperatorParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.operators;
 
 import dr.inference.model.ValuesPool;
diff --git a/src/dr/inferencexml/trace/AICMAnalysisParser.java b/src/dr/inferencexml/trace/AICMAnalysisParser.java
index 0dd5fca..c03ce76 100644
--- a/src/dr/inferencexml/trace/AICMAnalysisParser.java
+++ b/src/dr/inferencexml/trace/AICMAnalysisParser.java
@@ -1,3 +1,28 @@
+/*
+ * AICMAnalysisParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.trace;
 
 import dr.inference.trace.LogFileTraces;
@@ -49,9 +74,9 @@ public class AICMAnalysisParser extends AbstractXMLObjectParser {
             // Load traces and remove burnin
             LogFileTraces traces = new LogFileTraces(fileName, file);
             traces.loadTraces();
-            int maxState = traces.getMaxState();
+            long maxState = traces.getMaxState();
 
-            int burnin = xo.getAttribute(BURN_IN, maxState / 10);
+            long burnin = xo.getAttribute(BURN_IN, maxState / 10);
 
             if (burnin < 0 || burnin >= maxState) {
                 burnin = maxState / 10;
@@ -81,7 +106,7 @@ public class AICMAnalysisParser extends AbstractXMLObjectParser {
             List<Double> sample = traces.getValues(traceIndex);
 
             MarginalLikelihoodAnalysis analysis = new MarginalLikelihoodAnalysis(sample,
-                    traces.getTraceName(traceIndex), burnin, analysisType, bootstrapLength);
+                    traces.getTraceName(traceIndex), (int)burnin, analysisType, bootstrapLength);
 
             System.out.println(analysis.toString());
 
diff --git a/src/dr/inferencexml/trace/ArithmeticMeanAnalysisParser.java b/src/dr/inferencexml/trace/ArithmeticMeanAnalysisParser.java
index ceb7cb0..92502cb 100644
--- a/src/dr/inferencexml/trace/ArithmeticMeanAnalysisParser.java
+++ b/src/dr/inferencexml/trace/ArithmeticMeanAnalysisParser.java
@@ -1,3 +1,28 @@
+/*
+ * ArithmeticMeanAnalysisParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.trace;
 
 import java.io.File;
@@ -57,9 +82,9 @@ public class ArithmeticMeanAnalysisParser extends AbstractXMLObjectParser {
             // Load traces and remove burnin
             LogFileTraces traces = new LogFileTraces(fileName, file);
             traces.loadTraces();
-            int maxState = traces.getMaxState();
+            long maxState = traces.getMaxState();
 
-            int burnin = xo.getAttribute(BURN_IN, maxState / 10);
+            long burnin = xo.getAttribute(BURN_IN, maxState / 10);
 
             if (burnin < 0 || burnin >= maxState) {
                 burnin = maxState / 10;
@@ -89,7 +114,7 @@ public class ArithmeticMeanAnalysisParser extends AbstractXMLObjectParser {
             List<Double> sample = traces.getValues(traceIndex);
 
             MarginalLikelihoodAnalysis analysis = new MarginalLikelihoodAnalysis(sample,
-                    traces.getTraceName(traceIndex), burnin, analysisType, bootstrapLength);
+                    traces.getTraceName(traceIndex), (int)burnin, analysisType, bootstrapLength);
 
             System.out.println(analysis.toString());
 
diff --git a/src/dr/inferencexml/trace/HarmonicMeanAnalysisParser.java b/src/dr/inferencexml/trace/HarmonicMeanAnalysisParser.java
index 8c2b584..73871d4 100644
--- a/src/dr/inferencexml/trace/HarmonicMeanAnalysisParser.java
+++ b/src/dr/inferencexml/trace/HarmonicMeanAnalysisParser.java
@@ -1,3 +1,28 @@
+/*
+ * HarmonicMeanAnalysisParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.trace;
 
 import dr.inference.trace.LogFileTraces;
@@ -55,12 +80,12 @@ public class HarmonicMeanAnalysisParser extends AbstractXMLObjectParser {
             // Load traces and remove burnin
             LogFileTraces traces = new LogFileTraces(fileName, file);
             traces.loadTraces();
-            int maxState = traces.getMaxState();
+            long maxState = traces.getMaxState();
 
-            int burnin = xo.getAttribute(BURN_IN, maxState / 10);
+            long burnin = xo.getAttribute(BURN_IN, maxState / 10);
 
             if (burnin < 0 || burnin >= maxState) {
-                burnin = maxState / 10;
+                burnin = (int) (maxState / 10);
                 System.out.println("WARNING: Burn-in larger than total number of states - using to 10%");
             }
 
@@ -87,7 +112,7 @@ public class HarmonicMeanAnalysisParser extends AbstractXMLObjectParser {
             List<Double> sample = traces.getValues(traceIndex);
 
             MarginalLikelihoodAnalysis analysis = new MarginalLikelihoodAnalysis(sample,
-                    traces.getTraceName(traceIndex), burnin, analysisType, bootstrapLength);
+                    traces.getTraceName(traceIndex), (int)burnin, analysisType, bootstrapLength);
 
             System.out.println(analysis.toString());
 
diff --git a/src/dr/inferencexml/trace/LogFileTraceExporterParser.java b/src/dr/inferencexml/trace/LogFileTraceExporterParser.java
index 58ff235..b29a671 100644
--- a/src/dr/inferencexml/trace/LogFileTraceExporterParser.java
+++ b/src/dr/inferencexml/trace/LogFileTraceExporterParser.java
@@ -1,3 +1,28 @@
+/*
+ * LogFileTraceExporterParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.trace;
 
 import dr.inference.trace.LogFileTraceExporter;
diff --git a/src/dr/inferencexml/trace/MarginalLikelihoodAnalysisParser.java b/src/dr/inferencexml/trace/MarginalLikelihoodAnalysisParser.java
index 73907f3..8c00b11 100644
--- a/src/dr/inferencexml/trace/MarginalLikelihoodAnalysisParser.java
+++ b/src/dr/inferencexml/trace/MarginalLikelihoodAnalysisParser.java
@@ -1,3 +1,28 @@
+/*
+ * MarginalLikelihoodAnalysisParser.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.inferencexml.trace;
 
 import dr.inference.trace.LogFileTraces;
@@ -49,10 +74,10 @@ public class MarginalLikelihoodAnalysisParser extends AbstractXMLObjectParser {
 
             LogFileTraces traces = new LogFileTraces(fileName, file);
             traces.loadTraces();
-            int maxState = traces.getMaxState();
+            long maxState = traces.getMaxState();
 
             // leaving the burnin attribute off will result in 10% being used
-            int burnin = xo.getAttribute(BURN_IN, maxState / 10);
+            long burnin = xo.getAttribute(BURN_IN, maxState / 10);
 
             if (burnin < 0 || burnin >= maxState) {
                 burnin = maxState / 10;
@@ -88,7 +113,7 @@ public class MarginalLikelihoodAnalysisParser extends AbstractXMLObjectParser {
             List<Double> sample = traces.getValues(traceIndex);
 
             MarginalLikelihoodAnalysis analysis = new MarginalLikelihoodAnalysis(sample,
-                    traces.getTraceName(traceIndex), burnin, analysisType, bootstrapLength);
+                    traces.getTraceName(traceIndex), (int)burnin, analysisType, bootstrapLength);
 
             System.out.println(analysis.toString());
 
diff --git a/src/dr/inferencexml/trace/TraceAnalysisParser.java b/src/dr/inferencexml/trace/TraceAnalysisParser.java
index 9b04d46..d7bcea6 100644
--- a/src/dr/inferencexml/trace/TraceAnalysisParser.java
+++ b/src/dr/inferencexml/trace/TraceAnalysisParser.java
@@ -1,7 +1,7 @@
 /*
  * TraceAnalysisParser.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/math/BFloat.java b/src/dr/math/BFloat.java
index cbb3075..e9c1491 100644
--- a/src/dr/math/BFloat.java
+++ b/src/dr/math/BFloat.java
@@ -1,7 +1,7 @@
 /*
  * BFloat.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/BigDecimalUtils.java b/src/dr/math/BigDecimalUtils.java
index 6b94af5..4667a93 100644
--- a/src/dr/math/BigDecimalUtils.java
+++ b/src/dr/math/BigDecimalUtils.java
@@ -1,3 +1,28 @@
+/*
+ * BigDecimalUtils.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math;
 
 import java.math.BigInteger;
diff --git a/src/dr/math/Binomial.java b/src/dr/math/Binomial.java
index e2528f6..ca946e3 100644
--- a/src/dr/math/Binomial.java
+++ b/src/dr/math/Binomial.java
@@ -1,7 +1,7 @@
 /*
  * Binomial.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/BoundsCheckedFunction.java b/src/dr/math/BoundsCheckedFunction.java
index 49ac26e..12418d6 100644
--- a/src/dr/math/BoundsCheckedFunction.java
+++ b/src/dr/math/BoundsCheckedFunction.java
@@ -1,7 +1,7 @@
 /*
  * BoundsCheckedFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/ComplexArray.java b/src/dr/math/ComplexArray.java
index 2b5f244..7ff5b86 100644
--- a/src/dr/math/ComplexArray.java
+++ b/src/dr/math/ComplexArray.java
@@ -1,3 +1,28 @@
+/*
+ * ComplexArray.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math;
 
 import dr.math.matrixAlgebra.Vector;
diff --git a/src/dr/math/CompoundFunction.java b/src/dr/math/CompoundFunction.java
index b12d038..918004d 100644
--- a/src/dr/math/CompoundFunction.java
+++ b/src/dr/math/CompoundFunction.java
@@ -1,7 +1,7 @@
 /*
  * CompoundFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/ConjugateDirectionSearch.java b/src/dr/math/ConjugateDirectionSearch.java
index 0de2224..d1b1d00 100644
--- a/src/dr/math/ConjugateDirectionSearch.java
+++ b/src/dr/math/ConjugateDirectionSearch.java
@@ -1,7 +1,7 @@
 /*
  * ConjugateDirectionSearch.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/ConjugateGradientSearch.java b/src/dr/math/ConjugateGradientSearch.java
index c1072ae..d12dee4 100644
--- a/src/dr/math/ConjugateGradientSearch.java
+++ b/src/dr/math/ConjugateGradientSearch.java
@@ -1,7 +1,7 @@
 /*
  * ConjugateGradientSearch.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/DifferentialEvolution.java b/src/dr/math/DifferentialEvolution.java
index 865a96f..ec31cde 100644
--- a/src/dr/math/DifferentialEvolution.java
+++ b/src/dr/math/DifferentialEvolution.java
@@ -1,7 +1,7 @@
 /*
  * DifferentialEvolution.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/EmpiricalBayesPoissonSmoother.java b/src/dr/math/EmpiricalBayesPoissonSmoother.java
index 87a7952..9a6b38c 100644
--- a/src/dr/math/EmpiricalBayesPoissonSmoother.java
+++ b/src/dr/math/EmpiricalBayesPoissonSmoother.java
@@ -1,7 +1,7 @@
 /*
  * EmpiricalBayesPoissonSmoother.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/ErrorFunction.java b/src/dr/math/ErrorFunction.java
index 12bf341..38019b8 100644
--- a/src/dr/math/ErrorFunction.java
+++ b/src/dr/math/ErrorFunction.java
@@ -1,7 +1,7 @@
 /*
  * ErrorFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/FastFourierTransform.java b/src/dr/math/FastFourierTransform.java
index 91b2edc..15783a2 100644
--- a/src/dr/math/FastFourierTransform.java
+++ b/src/dr/math/FastFourierTransform.java
@@ -1,3 +1,28 @@
+/*
+ * FastFourierTransform.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math;
 
 /**
diff --git a/src/dr/math/GammaFunction.java b/src/dr/math/GammaFunction.java
index d164d9d..518eb31 100644
--- a/src/dr/math/GammaFunction.java
+++ b/src/dr/math/GammaFunction.java
@@ -1,7 +1,7 @@
 /*
  * GammaFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/GeneralisedGaussLaguerreQuadrature.java b/src/dr/math/GeneralisedGaussLaguerreQuadrature.java
index 3b51c78..9cbfc83 100644
--- a/src/dr/math/GeneralisedGaussLaguerreQuadrature.java
+++ b/src/dr/math/GeneralisedGaussLaguerreQuadrature.java
@@ -1,3 +1,28 @@
+/*
+ * GeneralisedGaussLaguerreQuadrature.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math;
 
 /**
diff --git a/src/dr/math/IntegrableUnivariateFunction.java b/src/dr/math/IntegrableUnivariateFunction.java
index b85cff6..9092b65 100644
--- a/src/dr/math/IntegrableUnivariateFunction.java
+++ b/src/dr/math/IntegrableUnivariateFunction.java
@@ -1,3 +1,28 @@
+/*
+ * IntegrableUnivariateFunction.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math;
 
 /**
diff --git a/src/dr/math/Integral.java b/src/dr/math/Integral.java
index a9b0e57..dbf1760 100644
--- a/src/dr/math/Integral.java
+++ b/src/dr/math/Integral.java
@@ -1,7 +1,7 @@
 /*
  * Integral.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/KroneckerOperation.java b/src/dr/math/KroneckerOperation.java
index b6e82ba..76147aa 100644
--- a/src/dr/math/KroneckerOperation.java
+++ b/src/dr/math/KroneckerOperation.java
@@ -1,3 +1,28 @@
+/*
+ * KroneckerOperation.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math;
 
 import java.util.Arrays;
diff --git a/src/dr/math/LineFunction.java b/src/dr/math/LineFunction.java
index 0583376..e02b2f2 100644
--- a/src/dr/math/LineFunction.java
+++ b/src/dr/math/LineFunction.java
@@ -1,7 +1,7 @@
 /*
  * LineFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/LogTricks.java b/src/dr/math/LogTricks.java
index c4803b7..2b62e7c 100644
--- a/src/dr/math/LogTricks.java
+++ b/src/dr/math/LogTricks.java
@@ -1,3 +1,28 @@
+/*
+ * LogTricks.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math;
 
 /**
diff --git a/src/dr/math/MFWithGradient.java b/src/dr/math/MFWithGradient.java
index a3eef43..1cd29f7 100644
--- a/src/dr/math/MFWithGradient.java
+++ b/src/dr/math/MFWithGradient.java
@@ -1,7 +1,7 @@
 /*
  * MFWithGradient.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/MachineAccuracy.java b/src/dr/math/MachineAccuracy.java
index 2bd8920..080c6fa 100644
--- a/src/dr/math/MachineAccuracy.java
+++ b/src/dr/math/MachineAccuracy.java
@@ -1,7 +1,7 @@
 /*
  * MachineAccuracy.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/MathUtils.java b/src/dr/math/MathUtils.java
index d875846..23d4b94 100644
--- a/src/dr/math/MathUtils.java
+++ b/src/dr/math/MathUtils.java
@@ -1,7 +1,7 @@
 /*
  * MathUtils.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/MersenneTwisterFast.java b/src/dr/math/MersenneTwisterFast.java
index fa10cd2..69424da 100644
--- a/src/dr/math/MersenneTwisterFast.java
+++ b/src/dr/math/MersenneTwisterFast.java
@@ -1,7 +1,7 @@
 /*
  * MersenneTwisterFast.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/MinimiserMonitor.java b/src/dr/math/MinimiserMonitor.java
index f372fbe..ed0c215 100644
--- a/src/dr/math/MinimiserMonitor.java
+++ b/src/dr/math/MinimiserMonitor.java
@@ -1,7 +1,7 @@
 /*
  * MinimiserMonitor.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/MittagLefflerFunction.java b/src/dr/math/MittagLefflerFunction.java
index 05c7623..e48367f 100644
--- a/src/dr/math/MittagLefflerFunction.java
+++ b/src/dr/math/MittagLefflerFunction.java
@@ -1,3 +1,28 @@
+/*
+ * MittagLefflerFunction.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math;
 
 import cern.jet.stat.Gamma;
diff --git a/src/dr/math/ModifiedBesselFirstKind.java b/src/dr/math/ModifiedBesselFirstKind.java
index e611b36..c19d634 100644
--- a/src/dr/math/ModifiedBesselFirstKind.java
+++ b/src/dr/math/ModifiedBesselFirstKind.java
@@ -1,3 +1,28 @@
+/*
+ * ModifiedBesselFirstKind.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math;
 
 
diff --git a/src/dr/math/MonteCarloIntegral.java b/src/dr/math/MonteCarloIntegral.java
index a6b3616..5ee429f 100644
--- a/src/dr/math/MonteCarloIntegral.java
+++ b/src/dr/math/MonteCarloIntegral.java
@@ -1,7 +1,7 @@
 /*
  * MonteCarloIntegral.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/MultivariateFunction.java b/src/dr/math/MultivariateFunction.java
index b31e070..54eeb6d 100644
--- a/src/dr/math/MultivariateFunction.java
+++ b/src/dr/math/MultivariateFunction.java
@@ -1,7 +1,7 @@
 /*
  * MultivariateFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/MultivariateIntegral.java b/src/dr/math/MultivariateIntegral.java
index 6746fa5..190c557 100644
--- a/src/dr/math/MultivariateIntegral.java
+++ b/src/dr/math/MultivariateIntegral.java
@@ -1,7 +1,7 @@
 /*
- * Integral.java
+ * MultivariateIntegral.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/MultivariateMinimum.java b/src/dr/math/MultivariateMinimum.java
index f741cd0..6174e2d 100644
--- a/src/dr/math/MultivariateMinimum.java
+++ b/src/dr/math/MultivariateMinimum.java
@@ -1,7 +1,7 @@
 /*
  * MultivariateMinimum.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/MultivariateMonteCarloIntegral.java b/src/dr/math/MultivariateMonteCarloIntegral.java
index 5a817b2..8dc9b8f 100644
--- a/src/dr/math/MultivariateMonteCarloIntegral.java
+++ b/src/dr/math/MultivariateMonteCarloIntegral.java
@@ -1,7 +1,7 @@
 /*
- * MonteCarloIntegral.java
+ * MultivariateMonteCarloIntegral.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/NumericalDerivative.java b/src/dr/math/NumericalDerivative.java
index 8865eb8..fdb9f77 100644
--- a/src/dr/math/NumericalDerivative.java
+++ b/src/dr/math/NumericalDerivative.java
@@ -1,7 +1,7 @@
 /*
  * NumericalDerivative.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/Poisson.java b/src/dr/math/Poisson.java
index 2c56ad1..d18bcc3 100644
--- a/src/dr/math/Poisson.java
+++ b/src/dr/math/Poisson.java
@@ -1,7 +1,7 @@
 /*
  * Poisson.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/Polynomial.java b/src/dr/math/Polynomial.java
index 00d5774..766bc3e 100644
--- a/src/dr/math/Polynomial.java
+++ b/src/dr/math/Polynomial.java
@@ -1,3 +1,28 @@
+/*
+ * Polynomial.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math;
 
 //import org.apfloat.Apfloat;
diff --git a/src/dr/math/Procrustes.java b/src/dr/math/Procrustes.java
index 6ccfecb..2358623 100644
--- a/src/dr/math/Procrustes.java
+++ b/src/dr/math/Procrustes.java
@@ -1,3 +1,28 @@
+/*
+ * Procrustes.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math;
 
 import org.apache.commons.math.linear.*;
diff --git a/src/dr/math/RiemannApproximation.java b/src/dr/math/RiemannApproximation.java
index 10cef3b..f3bc92c 100644
--- a/src/dr/math/RiemannApproximation.java
+++ b/src/dr/math/RiemannApproximation.java
@@ -1,7 +1,7 @@
 /*
  * RiemannApproximation.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/SparseMatrixExponential.java b/src/dr/math/SparseMatrixExponential.java
index 3bdf3d2..b23539b 100644
--- a/src/dr/math/SparseMatrixExponential.java
+++ b/src/dr/math/SparseMatrixExponential.java
@@ -1,3 +1,28 @@
+/*
+ * SparseMatrixExponential.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math;
 
 /**
diff --git a/src/dr/math/UnivariateFunction.java b/src/dr/math/UnivariateFunction.java
index 4200cca..1cd010e 100644
--- a/src/dr/math/UnivariateFunction.java
+++ b/src/dr/math/UnivariateFunction.java
@@ -1,7 +1,7 @@
 /*
  * UnivariateFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/UnivariateMinimum.java b/src/dr/math/UnivariateMinimum.java
index 83cb668..896dd8f 100644
--- a/src/dr/math/UnivariateMinimum.java
+++ b/src/dr/math/UnivariateMinimum.java
@@ -1,7 +1,7 @@
 /*
  * UnivariateMinimum.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/distributions/BetaDistribution.java b/src/dr/math/distributions/BetaDistribution.java
index a23837c..3cb8697 100644
--- a/src/dr/math/distributions/BetaDistribution.java
+++ b/src/dr/math/distributions/BetaDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * BetaDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.math.UnivariateFunction;
diff --git a/src/dr/math/distributions/BetaKDEDistribution.java b/src/dr/math/distributions/BetaKDEDistribution.java
index 14c796f..5de8eca 100644
--- a/src/dr/math/distributions/BetaKDEDistribution.java
+++ b/src/dr/math/distributions/BetaKDEDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * BetaKDEDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.math.GammaFunction;
diff --git a/src/dr/math/distributions/BifractionalDiffusionDensity.java b/src/dr/math/distributions/BifractionalDiffusionDensity.java
index 3a3f082..0c8adcc 100644
--- a/src/dr/math/distributions/BifractionalDiffusionDensity.java
+++ b/src/dr/math/distributions/BifractionalDiffusionDensity.java
@@ -1,3 +1,28 @@
+/*
+ * BifractionalDiffusionDensity.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.math.UnivariateFunction;
diff --git a/src/dr/math/distributions/ChiSquareDistribution.java b/src/dr/math/distributions/ChiSquareDistribution.java
index f4d1dc7..d898e46 100644
--- a/src/dr/math/distributions/ChiSquareDistribution.java
+++ b/src/dr/math/distributions/ChiSquareDistribution.java
@@ -1,7 +1,7 @@
 /*
  * ChiSquareDistribution.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/distributions/DirichletDistribution.java b/src/dr/math/distributions/DirichletDistribution.java
index 9251240..dfbfe5e 100644
--- a/src/dr/math/distributions/DirichletDistribution.java
+++ b/src/dr/math/distributions/DirichletDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * DirichletDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.math.GammaFunction;
diff --git a/src/dr/math/distributions/DiscreteUniformDistribution.java b/src/dr/math/distributions/DiscreteUniformDistribution.java
index 1c45c6e..922e403 100644
--- a/src/dr/math/distributions/DiscreteUniformDistribution.java
+++ b/src/dr/math/distributions/DiscreteUniformDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * DiscreteUniformDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.math.UnivariateFunction;
diff --git a/src/dr/math/distributions/Distribution.java b/src/dr/math/distributions/Distribution.java
index 3ec8acd..cb65017 100644
--- a/src/dr/math/distributions/Distribution.java
+++ b/src/dr/math/distributions/Distribution.java
@@ -1,7 +1,7 @@
 /*
  * Distribution.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/distributions/ExponentialDistribution.java b/src/dr/math/distributions/ExponentialDistribution.java
index bdf095c..42195d4 100644
--- a/src/dr/math/distributions/ExponentialDistribution.java
+++ b/src/dr/math/distributions/ExponentialDistribution.java
@@ -1,7 +1,7 @@
 /*
  * ExponentialDistribution.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/distributions/GammaDistribution.java b/src/dr/math/distributions/GammaDistribution.java
index 1fbb661..c7171fb 100644
--- a/src/dr/math/distributions/GammaDistribution.java
+++ b/src/dr/math/distributions/GammaDistribution.java
@@ -1,7 +1,7 @@
 /*
  * GammaDistribution.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -62,7 +62,8 @@ public class GammaDistribution implements Distribution {
 
         if (TRY_COLT) {
             randomEngine = new MersenneTwister(MathUtils.nextInt());
-            coltGamma = new Gamma(shape, scale, randomEngine);
+            System.out.println("Colt Gamma(" + shape + "," + scale + ")");
+            coltGamma = new Gamma(shape, 1.0/scale, randomEngine);
         }
     }
 
@@ -83,15 +84,27 @@ public class GammaDistribution implements Distribution {
     }
 
     public double pdf(double x) {
-        return pdf(x, shape, scale);
+        if (TRY_COLT) {
+            return coltGamma.pdf(x);
+        } else {
+            return pdf(x, shape, scale);
+        }
     }
 
     public double logPdf(double x) {
-        return logPdf(x, shape, scale);
+        if (TRY_COLT) {
+            return Math.log(coltGamma.pdf(x));
+        } else {
+            return logPdf(x, shape, scale);
+        }
     }
 
     public double cdf(double x) {
-        return cdf(x, shape, scale);
+        if (TRY_COLT) {
+            return coltGamma.cdf(x);
+        } else {
+            return cdf(x, shape, scale);
+        }
     }
 
     public double quantile(double y) {
@@ -191,6 +204,10 @@ public class GammaDistribution implements Distribution {
         }
         if (shape == 0.0)  // uninformative
             return -Math.log(x);
+
+        if (shape == -0.5) { // Gelman 2008, hierarchical variance, -1 degrees of freedom
+            return 0.5 * Math.log(x);
+        }
         
         /*return ((shape - 1.0) * Math.log(x/scale) - x / scale - GammaFunction
                 .lnGamma(shape))
@@ -536,6 +553,22 @@ public class GammaDistribution implements Distribution {
         	}
         }
 
+        GammaDistribution gamma = new GammaDistribution(0.01,100.0);
+        double[] samples = new double[100000];
+        double sum = 0.0;
+        for (int i = 0; i < samples.length; i++) {
+            samples[i] = gamma.nextGamma();
+            sum += samples[i];
+        }
+        double mean = sum/(double)samples.length;
+        System.out.println("Mean = " + mean);
+        double variance = 0.0;
+        for (int i = 0; i < samples.length; i++) {
+            variance += Math.pow((samples[i] - mean),2.0);
+        }
+        variance = variance/(double)samples.length;
+        System.out.println("Variance = " + variance);
+
 //        System.out
 //                .println("K-S critical values: 1.22(10%), 1.36(5%), 1.63(1%)\n");
 //
diff --git a/src/dr/math/distributions/GammaKDEDistribution.java b/src/dr/math/distributions/GammaKDEDistribution.java
index 5b646e1..ab97ead 100644
--- a/src/dr/math/distributions/GammaKDEDistribution.java
+++ b/src/dr/math/distributions/GammaKDEDistribution.java
@@ -1,7 +1,34 @@
+/*
+ * GammaKDEDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.stats.DiscreteStatistics;
 
+import java.util.Random;
+
 
 /**
  * @author Jennifer Tom
@@ -69,6 +96,28 @@ public class GammaKDEDistribution extends KernelDensityEstimatorDistribution {
 
     }
 
+    public static void main(String[] args) {
+
+        long start = System.currentTimeMillis();
+
+        Random random = new Random(1234);
+
+        Double[] samples = new Double[10000000];
+        for (int i = 0; i < samples.length; i++) {
+            samples[i] = random.nextDouble();
+        }
+        GammaKDEDistribution nKDE = new GammaKDEDistribution(samples);
+
+        for (int i = 0; i < 100; i++) {
+            nKDE.evaluateKernel(random.nextDouble());
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.out.println("Time: " + (end-start));
+
+    }
+
 //    private double sampleMean() {return DiscreteStatistics.mean(sample);}
 
 
diff --git a/src/dr/math/distributions/GaussianProcessRandomGenerator.java b/src/dr/math/distributions/GaussianProcessRandomGenerator.java
index e9f4672..187f1b7 100644
--- a/src/dr/math/distributions/GaussianProcessRandomGenerator.java
+++ b/src/dr/math/distributions/GaussianProcessRandomGenerator.java
@@ -1,7 +1,7 @@
 /*
  * GaussianProcessRandomGenerator.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -25,6 +25,8 @@
 
 package dr.math.distributions;
 
+import dr.inference.model.Likelihood;
+
 /**
  * @author Marc A. Suchard
  * @author Max R. Tolkoff
@@ -32,4 +34,5 @@ package dr.math.distributions;
 
 public interface GaussianProcessRandomGenerator extends RandomGenerator {
     // Only implemented by Gaussian processes
+    Likelihood getLikelihood();
 }
\ No newline at end of file
diff --git a/src/dr/math/distributions/GeneralizedIntegerGammaDistribution.java b/src/dr/math/distributions/GeneralizedIntegerGammaDistribution.java
new file mode 100644
index 0000000..991c488
--- /dev/null
+++ b/src/dr/math/distributions/GeneralizedIntegerGammaDistribution.java
@@ -0,0 +1,182 @@
+/*
+ * Hyperexponential.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.math.distributions;
+
+import dr.math.UnivariateFunction;
+
+/**
+ * GeneralizedIntegerGammaDistribution distribution.
+ * @author Marc A. Suchard
+ */
+public class GeneralizedIntegerGammaDistribution implements Distribution {
+
+    private int shape1, shape2;
+    private double rate1, rate2;
+
+    private double[] A = null;
+    private double[] B = null;
+
+    public GeneralizedIntegerGammaDistribution(int shape1, int shape2, double rate1, double rate2) {
+        this.shape1 = shape1;
+        this.shape2 = shape2;
+        this.rate1 = rate1;
+        this.rate2 = rate2;
+    }
+
+    @Override
+    public double logPdf(double x) {
+        throw new RuntimeException("Not yet implemented");
+    }
+
+    @Override
+    public double cdf(double x) {
+        throw new RuntimeException("Not yet implemented");
+    }
+
+    @Override
+    public double quantile(double y) {
+        throw new RuntimeException("Not yet implemented");
+    }
+
+    @Override
+    public double mean() {
+        throw new RuntimeException("Not yet implemented");
+    }
+
+    @Override
+    public double variance() {
+        throw new RuntimeException("Not yet implemented");
+    }
+
+    @Override
+    public UnivariateFunction getProbabilityDensityFunction() {
+        throw new RuntimeException("Not yet implemented");
+    }
+
+    public double generatingFunction(double s) {
+        return Math.pow(rate1 / (rate1 + s), shape1) * Math.pow(rate2 / (rate2 + s), shape2);
+    }
+
+    //        http://www.ism.ac.jp/editsec/aism/pdf/034_3_0591.pdf
+    public double generatingFunctionPartialFraction(double s) {
+        if (A == null) {
+            computeCoefficients();
+        }
+        double sum = 0.0;
+
+        for (int i = 1; i <= shape1; ++i) {
+            sum += A[i] / Math.pow(rate1 + s, i);
+        }
+
+        for (int i = 1; i <= shape2; ++i) {
+            sum += B[i] / Math.pow(rate2 + s, i);
+        }
+
+        return sum;
+    }
+
+    private void computeCoefficients() {
+        A = new double[shape1 + 1];
+        B = new double[shape2 + 1];
+
+        final double lambdaFactor = Math.pow(rate1, shape1) * Math.pow(rate2, shape2);
+
+        int sign = 1;
+        double factorial = 1.0;
+        for (int i = 1; i <= shape1; ++i) {
+            if (i > 1 && (shape2 + i - 2) > 1) {
+                factorial *= shape2 + i - 2;
+                factorial /= i - 1;
+            }
+            //                System.err.println("A[" + (shape1 - i + 1) + "]: " + factorial);
+            A[shape1 - i + 1] = factorial * sign * lambdaFactor / Math.pow(rate2 - rate1, shape2 + i - 1);
+            sign *= -1;
+        }
+
+        sign = 1;
+        factorial = 1.0;
+        for (int i = 1; i <= shape2; ++i) {
+            if (i > 1 && (shape1 + i - 2) > 1) {
+                factorial *= shape1 + i - 2;
+                factorial /= i - 1;
+            }
+
+            //                System.err.println("B[" + (shape2 - i + 1) + "]: " + factorial);
+            B[shape2 - i + 1] = factorial * sign * lambdaFactor / Math.pow(rate1 - rate2, shape1 + i - 1);
+            sign *= -1;
+        }
+    }
+
+    public double pdf(double x) {
+        if (A == null) {
+            computeCoefficients();
+        }
+
+        final double expRate1X = Math.exp(-rate1 * x);
+        final double expRate2X = Math.exp(-rate2 * x);
+
+        double sum = 0.0;
+        double power = 1.0;
+        int factorial = 1;
+
+        for (int i = 1; i <= shape1; ++i) {
+            sum += A[i] * power * expRate1X / factorial;
+
+            power *= x; // x^{i - 1}
+            factorial *= i; // (i - 1)!
+        }
+
+        power = 1.0;
+        factorial = 1;
+        for (int i = 1; i <= shape2; ++i) {
+            sum += B[i] * power * expRate2X / factorial;
+
+            power *= x; // x^{i - 1}
+            factorial *= i; // (i - 1)!
+        }
+
+        return sum;
+    }
+
+    public static double pdf(double x, int shape1, int shape2, double rate1, double rate2) {
+        return new GeneralizedIntegerGammaDistribution(shape1, shape2, rate1, rate2).pdf(x);
+    }
+
+
+// https://en.wikipedia.org/wiki/Generalized_integer_gamma_distribution
+
+// https://en.wikipedia.org/wiki/Generalized_integer_gamma_distribution
+
+//        http://arxiv.org/pdf/math/0408189v1.pdf
+
+//        http://www.math.utep.edu/Faculty/moschopoulos/Publications/1985-The_Distribution_of_the_Sum_of_Independent_Gamma_Random_Variables.pdf
+
+//          partial fractions, inverse Fourier transform
+//        http://stats.stackexchange.com/questions/72479/general-sum-of-gamma-distributions
+
+
+}
+
diff --git a/src/dr/math/distributions/HalfTDistribution.java b/src/dr/math/distributions/HalfTDistribution.java
index 17e0e55..9958180 100644
--- a/src/dr/math/distributions/HalfTDistribution.java
+++ b/src/dr/math/distributions/HalfTDistribution.java
@@ -1,7 +1,7 @@
 /*
  * HalfTDistribution.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/distributions/InverseGammaDistribution.java b/src/dr/math/distributions/InverseGammaDistribution.java
index 5687916..6ad4bc9 100644
--- a/src/dr/math/distributions/InverseGammaDistribution.java
+++ b/src/dr/math/distributions/InverseGammaDistribution.java
@@ -1,7 +1,7 @@
 /*
- * GammaDistribution.java
+ * InverseGammaDistribution.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/distributions/InverseGaussianDistribution.java b/src/dr/math/distributions/InverseGaussianDistribution.java
index 1764bba..046c26c 100644
--- a/src/dr/math/distributions/InverseGaussianDistribution.java
+++ b/src/dr/math/distributions/InverseGaussianDistribution.java
@@ -1,7 +1,7 @@
 /*
  * InverseGaussianDistribution.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/distributions/InverseWishartDistribution.java b/src/dr/math/distributions/InverseWishartDistribution.java
index c2ff19b..821b8b8 100644
--- a/src/dr/math/distributions/InverseWishartDistribution.java
+++ b/src/dr/math/distributions/InverseWishartDistribution.java
@@ -1,7 +1,7 @@
 /*
  * InverseWishartDistribution.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/distributions/KernelDensityEstimatorDistribution.java b/src/dr/math/distributions/KernelDensityEstimatorDistribution.java
index 4cec136..f69451a 100644
--- a/src/dr/math/distributions/KernelDensityEstimatorDistribution.java
+++ b/src/dr/math/distributions/KernelDensityEstimatorDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * KernelDensityEstimatorDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.math.UnivariateFunction;
diff --git a/src/dr/math/distributions/LaplaceDistribution.java b/src/dr/math/distributions/LaplaceDistribution.java
index 5b9b108..d6c8f55 100644
--- a/src/dr/math/distributions/LaplaceDistribution.java
+++ b/src/dr/math/distributions/LaplaceDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * LaplaceDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.math.UnivariateFunction;
diff --git a/src/dr/math/distributions/LogNormalDistribution.java b/src/dr/math/distributions/LogNormalDistribution.java
index c113478..dbc1ceb 100644
--- a/src/dr/math/distributions/LogNormalDistribution.java
+++ b/src/dr/math/distributions/LogNormalDistribution.java
@@ -1,7 +1,7 @@
 /*
  * LogNormalDistribution.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/distributions/LogTransformedNormalKDEDistribution.java b/src/dr/math/distributions/LogTransformedNormalKDEDistribution.java
index f4196b8..be914b8 100644
--- a/src/dr/math/distributions/LogTransformedNormalKDEDistribution.java
+++ b/src/dr/math/distributions/LogTransformedNormalKDEDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * LogTransformedNormalKDEDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.math.ComplexArray;
@@ -5,12 +30,15 @@ import dr.math.FastFourierTransform;
 import dr.stats.DiscreteStatistics;
 import dr.util.HeapSort;
 
+import java.util.Arrays;
+
 /**
  * @author Guy Baele
  */
 public class LogTransformedNormalKDEDistribution extends KernelDensityEstimatorDistribution {
 
     public static final int MINIMUM_GRID_SIZE = 2048;
+    public static final boolean DEBUG = false;
 
     //the samples should not already be log transformed (the log transformation is done in this class)
     public LogTransformedNormalKDEDistribution(Double[] sample) {
@@ -42,11 +70,15 @@ public class LogTransformedNormalKDEDistribution extends KernelDensityEstimatorD
         processBounds(lowerBound, upperBound);
         setBandWidth(bandWidth); 
     	*/
+
         super(sample, lowerBound, upperBound, bandWidth);
         //transform the data to the log scale and store in logSample
-        System.out.println("Creating the KDE in log space");
-        System.out.println("lowerBound = " + lowerBound);
-        System.out.println("upperBound = " + upperBound);
+        if (DEBUG) {
+            System.out.println("Creating the KDE in log space");
+            System.out.println("lowerBound = " + lowerBound);
+            System.out.println("upperBound = " + upperBound);
+        }
+
         this.logSample = new double[sample.length];
         for (int i = 0; i < logSample.length; i++) {
         	this.logSample[i] = Math.log(sample[i]);
@@ -70,16 +102,20 @@ public class LogTransformedNormalKDEDistribution extends KernelDensityEstimatorD
         from = DiscreteStatistics.min(this.sample) - this.cut * this.bandWidth;
         to = DiscreteStatistics.max(this.sample) + this.cut * this.bandWidth;
 
-        System.out.println("bandWidth = " + this.bandWidth);
-        System.out.println("cut = " + this.cut);
-        System.out.println("from = " + from);
-        System.out.println("to = " + to);
+        if (DEBUG) {
+            System.out.println("bandWidth = " + this.bandWidth);
+            System.out.println("cut = " + this.cut);
+            System.out.println("from = " + from);
+            System.out.println("to = " + to);
+        }
         
         lo = from - 4.0 * this.bandWidth;
         up = to + 4.0 * this.bandWidth;
-        
-        System.out.println("lo = " + lo);
-        System.out.println("up = " + up);
+
+        if (DEBUG) {
+            System.out.println("lo = " + lo);
+            System.out.println("up = " + up);
+        }
 
         densityKnown = false;
         
@@ -212,9 +248,12 @@ public class LogTransformedNormalKDEDistribution extends KernelDensityEstimatorD
     
     private void transformEstimator() {
     	
-    	System.out.println("\nCreating the KDE in normal space");
-    	System.out.println("lowerBound = " + lowerBound);
-        System.out.println("upperBound = " + upperBound);
+    	if (DEBUG) {
+            System.out.println("\nCreating the KDE in normal space");
+            System.out.println("lowerBound = " + lowerBound);
+            System.out.println("upperBound = " + upperBound);
+        }
+
     	this.sample = backupSample;
     	//processBounds(lowerBound, upperBound);
         setBandWidth(null);
@@ -222,23 +261,27 @@ public class LogTransformedNormalKDEDistribution extends KernelDensityEstimatorD
         from = DiscreteStatistics.min(this.sample) - this.cut * this.bandWidth;
         to = DiscreteStatistics.max(this.sample) + this.cut * this.bandWidth;
 
-        System.out.println("bandWidth = " + this.bandWidth);
-        System.out.println("cut = " + this.cut);
-        System.out.println("from = " + from);
-        System.out.println("to = " + to);
+        if (DEBUG) {
+            System.out.println("min: " + DiscreteStatistics.min(this.sample));
+            System.out.println("max: " + DiscreteStatistics.max(this.sample));
+            System.out.println("bandWidth = " + this.bandWidth);
+            System.out.println("cut = " + this.cut);
+            System.out.println("from = " + from);
+            System.out.println("to = " + to);
+        }
         
         lo = from - 4.0 * this.bandWidth;
         up = to + 4.0 * this.bandWidth;
         
-        System.out.println("lo = " + lo);
-        System.out.println("up = " + up);
-        
-        /*if (from < 0.0) {
-        	from = 0.0;
+        if (DEBUG) {
+            System.out.println("lo = " + lo);
+            System.out.println("up = " + up);
         }
+
         if (lo < 0.0) {
-        	lo = 0.0;
-        }*/
+            //small hack, but our asymmetric kernel estimators are terribly slow
+            lo = DiscreteStatistics.min(this.sample);
+        }
         
         //make new ordinates for the transformation back to normal space
         //need a backup of the xPoints for the log scale KDE
@@ -246,30 +289,29 @@ public class LogTransformedNormalKDEDistribution extends KernelDensityEstimatorD
         System.arraycopy(xPoints, 0, backupXPoints, 0, xPoints.length);
         makeOrdinates();
         
-        int numberOfNegatives = 0;
-        System.out.println("\nxPoints length = " + xPoints.length);
-        for (int i = 0; i < xPoints.length; i++) {
-        	if (xPoints[i] < 0.0) {
-        		numberOfNegatives++;
-        	}
-        	//System.out.println(xPoints[i]);
-        }
-        System.out.println("number of negative xPoints = " + numberOfNegatives);
-        
         //the KDE on log scale is contained in the xPoints and densityPoints arrays
     	//copy them to finalXPoints and finalDensityPoints
-    	this.finalXPoints = new double[xPoints.length - numberOfNegatives];
-    	System.arraycopy(xPoints, numberOfNegatives, finalXPoints, 0, xPoints.length - numberOfNegatives);
-    	for (int i = 0; i < xPoints.length; i++) {
-    		System.out.println(backupXPoints[i] + " : " + densityPoints[i]);
-    	}
-    	
-    	System.out.println("\nfinalXPoints length = " + finalXPoints.length);
-    	this.finalDensityPoints = new double[densityPoints.length - numberOfNegatives];
+
+    	//this.finalXPoints = new double[xPoints.length - numberOfNegatives];
+        //this.finalXPoints = new double[xPoints.length];
+
+    	//System.arraycopy(xPoints, numberOfNegatives, finalXPoints, 0, xPoints.length - numberOfNegatives);
+        //System.arraycopy(xPoints, numberOfNegatives, finalXPoints, 0, xPoints.length);
+    	if (DEBUG) {
+            for (int i = 0; i < xPoints.length; i++) {
+                System.out.println(xPoints[i] + "   " + backupXPoints[i] + " : " + densityPoints[i]);
+            }
+            //System.out.println("\nfinalXPoints length = " + finalXPoints.length);
+        }
+
+    	//this.finalDensityPoints = new double[densityPoints.length - numberOfNegatives];
+        this.finalDensityPoints = new double[densityPoints.length];
     	
-    	for (int i = 0; i < finalXPoints.length; i++) {
-    		finalDensityPoints[i] = linearApproximate(backupXPoints, densityPoints, Math.log(finalXPoints[i]), 0.0, 0.0)*(1.0/finalXPoints[i]);
-    		System.out.println(finalXPoints[i] + " : " + finalDensityPoints[i]);
+    	for (int i = 0; i < xPoints.length; i++) {
+    		finalDensityPoints[i] = linearApproximate(backupXPoints, densityPoints, Math.log(xPoints[i]), 0.0, 0.0)*(1.0/xPoints[i]);
+    		if (DEBUG) {
+                System.out.println(xPoints[i] + "\t" + finalDensityPoints[i]);
+            }
     	}
     	
     	//System.exit(0);
@@ -317,13 +359,16 @@ public class LogTransformedNormalKDEDistribution extends KernelDensityEstimatorD
         xPoints = new double[gridSize];
         double x = lo;
         double delta = (up - lo) / (gridSize - 1);
-        //System.out.println("X");
+        if (DEBUG) {
+            System.out.println("X");
+        }
         for (int i = 0; i < gridSize; i++) {
             xPoints[i] = x;
             x += delta;
-            //System.out.println(xPoints[i]);
+            if (DEBUG) {
+                System.out.println(xPoints[i]);
+            }
         }
-        //System.out.println();
     }
 
     @Override
@@ -333,7 +378,7 @@ public class LogTransformedNormalKDEDistribution extends KernelDensityEstimatorD
         	computeDensity();
         }
         //xPoints and densityPoints are now back in normal space
-        return linearApproximate(finalXPoints, finalDensityPoints, x, 0.0, 0.0);
+        return linearApproximate(xPoints, finalDensityPoints, x, 0.0, 0.0);
     }
 
     @Override
@@ -367,7 +412,7 @@ public class LogTransformedNormalKDEDistribution extends KernelDensityEstimatorD
     }
 
     private ComplexArray kOrdinates;
-    private double[] xPoints, finalXPoints, backupXPoints;
+    private double[] xPoints, backupXPoints;
     private double[] densityPoints, finalDensityPoints;
     private double[] backupSample, logSample;
 
@@ -379,4 +424,115 @@ public class LogTransformedNormalKDEDistribution extends KernelDensityEstimatorD
     private double up;
 
     private boolean densityKnown = false;
+
+    public static void main(String[] args) {
+
+        /*Double[] testfivehundred = {9.169378e-06,9.169378e-06,9.169378e-06,9.169378e-06,4.116020e-06,4.116020e-06,4.116020e-06,4.161038e-07,3.644982e-07,2.195354e-07,2.195354e-07,2.195354e-07,2.195354e-07,7.462043e-08,7.462043e-08,8.368972e-08,9.283378e-08,9.283378e-08,2.866075e-08,6.532907e-09,6.532907e-09,3.936993e-08,3.936993e-08,2.257473e-08,2.257473e-08,1.525075e-08,1.525075e-08,1.525075e-08,1.525075e-08,1.525075e-08,2.370723e-08,2.370723e-08,1.961463e-08,7.642434e-08,8.838916e-08 [...]
+        LogTransformedNormalKDEDistribution five = new LogTransformedNormalKDEDistribution(testfivehundred);
+
+        for (int i = 0; i < 100; i++) {
+            System.out.println(((double) i / 1E7) + " : " + five.evaluateKernel((double)i/1E7));
+        }
+
+        System.exit(0);*/
+
+
+        /*Double[] testvpu = {3.264474e-10,3.264474e-10,2.270974e-10,4.053443e-10,1.440543e-10,1.948030e-11,2.160727e-11,2.160727e-11,2.160727e-11,2.798423e-11,1.220722e-10,1.220722e-10,6.669941e-11,6.669941e-11,4.142276e-11,5.325259e-11,5.325259e-11,5.325259e-11,9.190992e-11,1.165668e-10,4.202000e-11,4.202000e-11,4.202000e-11,7.824317e-12,7.824317e-12,7.824317e-12,7.824317e-12,7.824317e-12,7.824317e-12,1.245222e-12,5.797409e-14,5.797409e-14,5.797409e-14,5.797409e-14,5.797409e-14,5.79740 [...]
+        LogTransformedNormalKDEDistribution five = new LogTransformedNormalKDEDistribution(testvpu);
+
+        for (int i = 0; i < 100; i++) {
+            System.out.println(((double) i / 1E12) + " : " + five.evaluateKernel((double)i/1E12));
+        }
+        System.out.println();
+        for (int i = 0; i < 100; i++) {
+            System.out.println(((double) i / 1E14) + " : " + five.evaluateKernel((double)i/1E14));
+        }
+        System.out.println();
+        for (int i = 0; i < 100; i++) {
+            System.out.println(((double) i / 1E16) + " : " + five.evaluateKernel((double)i/1E16));
+        }
+        System.out.println();
+        for (int i = 0; i < 100; i++) {
+            System.out.println(((double) i / 1E26) + " : " + five.evaluateKernel((double)i/1E26));
+        }
+
+        System.exit(0);*/
+
+
+        //Normal distribution
+        Double[] samples = new Double[10000];
+        NormalDistribution dist = new NormalDistribution(0.5, 0.10);
+        for (int i = 0; i < samples.length; i++) {
+            samples[i] = (Double)dist.nextRandom();
+            if (samples[i] < 0.0 && DEBUG) {
+                System.err.println("Negative value generated!");
+            }
+        }
+        Arrays.sort(samples);
+        if (DEBUG) {
+            System.out.println("min: " + samples[0]);
+            System.out.println("max: " + samples[samples.length - 1] + "\n");
+        }
+
+        LogTransformedNormalKDEDistribution ltn = new LogTransformedNormalKDEDistribution(samples);
+        NormalKDEDistribution nKDE = new NormalKDEDistribution(samples);
+
+        if (DEBUG) {
+            for (int i = 0; i < 50; i++) {
+                Double test = (Double) dist.nextRandom();
+                System.out.println("random draw: " + test);
+                System.out.println("normal KDE: " + nKDE.evaluateKernel(test));
+                System.out.println("log transformed normal KDE: " + ltn.evaluateKernel(test) + "\n");
+            }
+        }
+
+
+        //LogNormal distribution
+        samples = new Double[2000];
+        dist = new NormalDistribution(0.0, 1.0);
+        for (int i = 0; i < samples.length; i++) {
+            samples[i] = (Double)dist.nextRandom();
+            while (samples[i] < 0.0) {
+                samples[i] = (Double)dist.nextRandom();
+            }
+            samples[i] = Math.exp(samples[i]-Math.exp(1.0));
+        }
+
+        //Generate R code for visualisation
+        System.out.print("par(mfrow=c(2,2))\n\nsamples <- c(");
+        for (int i = 0; i < samples.length-1; i++) {
+            System.out.print(samples[i] + ",");
+        }
+        System.out.println(samples[samples.length-1] + ")\n");
+        System.out.println("hist(samples, 200)\nminimum=min(samples)\nabline(v=minimum,col=2,lty=2)\n");
+        System.out.println("plot(density(samples))\nabline(v=minimum,col=2,lty=2)\n");
+
+        Arrays.sort(samples);
+        if (DEBUG) {
+            System.out.println("min: " + samples[0]);
+            System.out.println("max: " + samples[samples.length - 1] + "\n");
+        }
+
+        ltn = new LogTransformedNormalKDEDistribution(samples);
+        nKDE = new NormalKDEDistribution(samples);
+
+        System.out.print("normalKDE <- c(");
+        for (int i = 0; i < 1999; i++) {
+            Double test = 0.0 + ((double)i)/((double)1000);
+            System.out.print(nKDE.evaluateKernel(test) + ",");
+        }
+        System.out.println(nKDE.evaluateKernel(((double)1999)/((double)1000)) + ")\n");
+        System.out.println("index <- seq(0.0,1.999,by=0.001)");
+        System.out.println("plot(index,normalKDE,type=\"l\")\nabline(v=minimum,col=2,lty=2)\n");
+
+        System.out.print("TransKDE <- c(");
+        for (int i = 0; i < 1999; i++) {
+            Double test = 0.0 + ((double)i)/((double)1000);
+            System.out.print(ltn.evaluateKernel(test) + ",");
+        }
+        System.out.println(ltn.evaluateKernel(((double)1999)/((double)1000)) + ")\n");
+        System.out.println("plot(index,TransKDE,type=\"l\")\nabline(v=minimum,col=2,lty=2)");
+
+    }
+
 }
\ No newline at end of file
diff --git a/src/dr/math/distributions/LogitTransformedNormalKDEDistribution.java b/src/dr/math/distributions/LogitTransformedNormalKDEDistribution.java
new file mode 100644
index 0000000..6a3d470
--- /dev/null
+++ b/src/dr/math/distributions/LogitTransformedNormalKDEDistribution.java
@@ -0,0 +1,461 @@
+/*
+ * LogitTransformedNormalKDEDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package dr.math.distributions;
+
+import dr.math.ComplexArray;
+import dr.math.FastFourierTransform;
+import dr.stats.DiscreteStatistics;
+import dr.util.HeapSort;
+
+/**
+ * @author Guy Baele
+ */
+public class LogitTransformedNormalKDEDistribution extends KernelDensityEstimatorDistribution {
+
+    public static final int MINIMUM_GRID_SIZE = 2048;
+    public static final boolean DEBUG = false;
+
+    //the samples should not already be logit transformed (the logit transformation is done in this class)
+    public LogitTransformedNormalKDEDistribution(Double[] sample) {
+    	this(sample, null, null, null);
+    }
+
+    public LogitTransformedNormalKDEDistribution(Double[] sample, int n) {
+    	this(sample, null, null, null, 3.0, n);
+    }
+
+    public LogitTransformedNormalKDEDistribution(Double[] sample, Double lowerBound, Double upperBound, Double bandWidth) {
+        this(sample, lowerBound, upperBound, bandWidth, 3.0, MINIMUM_GRID_SIZE);
+    }
+
+    public LogitTransformedNormalKDEDistribution(Double[] sample, Double lowerBound, Double upperBound, Double bandWidth,
+                                                 int n) {
+        this(sample, lowerBound, upperBound, bandWidth, 3.0, n);
+    }
+
+    public LogitTransformedNormalKDEDistribution(Double[] sample, Double lowerBound, Double upperBound, Double bandWidth, double cut, int n) {
+
+        super(sample, lowerBound, upperBound, bandWidth);
+        //transform the data to the logit scale and store in logSample
+        if (DEBUG) {
+            System.out.println("Creating the KDE in logit space");
+            System.out.println("lowerBound = " + lowerBound);
+            System.out.println("upperBound = " + upperBound);
+        }
+
+        this.logitSample = new double[sample.length];
+        for (int i = 0; i < logitSample.length; i++) {
+        	this.logitSample[i] = Math.log(sample[i] / (1.0 - sample[i]));
+        }
+        //keep a backup copy of the samples in normal space
+        this.backupSample = new double[sample.length];
+        for (int i = 0; i < sample.length; i++) {
+        	this.backupSample[i] = sample[i];
+        }
+        //overwrite the stored samples, sample.length stays the same
+        this.sample = logitSample;
+        processBounds(lowerBound, upperBound);
+        setBandWidth(bandWidth);
+        
+        this.gridSize = Math.max(n, MINIMUM_GRID_SIZE);
+        if (this.gridSize > MINIMUM_GRID_SIZE) {
+            this.gridSize = (int) Math.pow(2, Math.ceil(Math.log(this.gridSize) / Math.log(2.0)));
+        }
+        this.cut = cut;
+
+        from = DiscreteStatistics.min(this.sample) - this.cut * this.bandWidth;
+        to = DiscreteStatistics.max(this.sample) + this.cut * this.bandWidth;
+
+        if (DEBUG) {
+            System.out.println("bandWidth = " + this.bandWidth);
+            System.out.println("cut = " + this.cut);
+            System.out.println("from = " + from);
+            System.out.println("to = " + to);
+        }
+        
+        lo = from - 4.0 * this.bandWidth;
+        up = to + 4.0 * this.bandWidth;
+
+        if (DEBUG) {
+            System.out.println("lo = " + lo);
+            System.out.println("up = " + up);
+        }
+
+        densityKnown = false;
+        
+        //run computeDensity to estimate the KDE on the log scale
+        //and afterwards return to the normal scale
+        computeDensity();
+        
+    }
+    
+    public double getFromPoint() {
+        return from;
+    }
+
+    public double getToPoint() {
+        return to;
+    }
+
+    /**
+     * Returns a linear approximation evaluated at pt
+     * @param x data (assumed sorted increasingly
+     * @param y data
+     * @param pt evaluation point
+     * @param low return value if pt < x
+     * @param high return value if pt > x
+     * @return  evaluated coordinate
+     */
+    private double linearApproximate(double[] x, double[] y, double pt, double low, double high) {
+
+        int i = 0;
+        int j = x.length - 1;
+
+        if (pt < x[i]) {
+            return low;
+        }
+        if (pt > x[j]) {
+            return high;
+        }
+
+        // Bisection search
+        while (i < j - 1) {
+            int ij = (i + j) / 2;
+            if (pt < x[ij]) {
+                j = ij;
+            } else {
+                i = ij;
+            }
+        }
+
+        if (pt == x[j]) {
+            return y[j];
+        }
+        if (pt == x[i]) {
+            return y[i];
+        }
+        //System.out.println("return value: "+ (y[i] + (y[j] - y[i]) * ((pt - x[i]) / (x[j] - x[i]))));
+        return y[i] + (y[j] - y[i]) * ((pt - x[i]) / (x[j] - x[i]));
+    }
+
+    private double[] rescaleAndTrim(double[] x) {
+        final int length = x.length / 2;
+        final double scale = 1.0 / x.length;
+        double[] out = new double[length];
+        for (int i = 0; i < length; ++i) {
+            out[i] = x[i] * scale;
+            if (out[i] < 0) {
+                out[i] = 0;
+            }
+        }
+        return out;
+    }
+
+    private double[] massdist(double[] x, double xlow, double xhigh, int ny) {
+
+        int nx = x.length;
+        double[] y = new double[ny * 2];
+
+        final int ixmin = 0;
+        final int ixmax = ny - 2;
+        final double xdelta = (xhigh - xlow) / (ny - 1);
+
+        for (int i = 0; i < ny; ++i) {
+            y[i] = 0.0;
+        }
+
+        final double xmi = 1.0 / nx;
+        for (int i = 0; i < nx; ++i) {
+            final double xpos = (x[i] - xlow) /  xdelta;
+            final int ix = (int) Math.floor(xpos);
+            final double fx = xpos - ix;
+//            final double xmi = xmass[i];
+
+            if (ixmin <= ix && ix <= ixmax) {
+                y[ix] += (1 - fx) * xmi;
+                y[ix + 1] += fx * xmi;
+            } else if (ix == -1) {
+                y[0] += fx * xmi;
+            } else if (ix == ixmax + 1) {
+                y[ix] += (1 - fx) * xmi;
+            }
+        }
+        return y;
+    }
+
+    /**
+     * Override for different kernels
+     * @param ordinates the points in complex space
+     * @param bandWidth predetermined bandwidth
+     */
+    protected void fillKernelOrdinates(ComplexArray ordinates, double bandWidth) {
+        final int length = ordinates.length;
+        final double a = 1.0 / (Math.sqrt(2.0 * Math.PI) * bandWidth);
+        final double precision = -0.5 / (bandWidth * bandWidth);
+        for (int i = 0; i < length; i++) {
+            final double x = ordinates.real[i];
+            ordinates.real[i] = a * Math.exp(x * x * precision);
+        }
+    }
+
+    protected void computeDensity() {
+    	//transformData calls massdist and rescaleAndTrim
+        makeOrdinates();
+        //makeOrdinates calls fillKernelOrdinates
+        transformData();
+        //we're still in logit space and need to return to normal space
+        //preferably before setting densityKnown to true
+        //stored values are in xPoints and densityPoints
+        transformEstimator();
+        densityKnown = true;
+    }
+    
+    private void transformEstimator() {
+    	
+    	if (DEBUG) {
+            System.out.println("\nCreating the KDE in normal space");
+            System.out.println("lowerBound = " + lowerBound);
+            System.out.println("upperBound = " + upperBound);
+        }
+
+    	this.sample = backupSample;
+    	//processBounds(lowerBound, upperBound);
+        setBandWidth(null);
+        
+        from = DiscreteStatistics.min(this.sample) - this.cut * this.bandWidth;
+        to = DiscreteStatistics.max(this.sample) + this.cut * this.bandWidth;
+
+        if (DEBUG) {
+            System.out.println("bandWidth = " + this.bandWidth);
+            System.out.println("cut = " + this.cut);
+            System.out.println("from = " + from);
+            System.out.println("to = " + to);
+        }
+        
+        lo = from - 4.0 * this.bandWidth;
+        up = to + 4.0 * this.bandWidth;
+        
+        if (DEBUG) {
+            System.out.println("lo = " + lo);
+            System.out.println("up = " + up);
+        }
+        
+        /*if (from < 0.0) {
+        	from = 0.0;
+        }
+        if (lo < 0.0) {
+        	lo = 0.0;
+        }*/
+        
+        //make new ordinates for the transformation back to normal space
+        //need a backup of the xPoints for the logit scale KDE
+        this.backupXPoints = new double[xPoints.length];
+        System.arraycopy(xPoints, 0, backupXPoints, 0, xPoints.length);
+        makeOrdinates();
+        
+        int numberOfNegatives = 0;
+        if (DEBUG) {
+            System.out.println("\nxPoints length = " + xPoints.length);
+        }
+        for (int i = 0; i < xPoints.length; i++) {
+        	if (xPoints[i] < 0.0) {
+        		numberOfNegatives++;
+        	}
+        	//System.out.println(xPoints[i]);
+        }
+        if (DEBUG) {
+            System.out.println("number of negative xPoints = " + numberOfNegatives);
+        }
+        
+        //the KDE on logit scale is contained in the xPoints and densityPoints arrays
+    	//copy them to finalXPoints and finalDensityPoints
+    	this.finalXPoints = new double[xPoints.length - numberOfNegatives];
+    	System.arraycopy(xPoints, numberOfNegatives, finalXPoints, 0, xPoints.length - numberOfNegatives);
+    	if (DEBUG) {
+            for (int i = 0; i < xPoints.length; i++) {
+                System.out.println(backupXPoints[i] + " : " + densityPoints[i]);
+            }
+            System.out.println("\nfinalXPoints length = " + finalXPoints.length);
+        }
+
+    	this.finalDensityPoints = new double[densityPoints.length - numberOfNegatives];
+    	
+    	for (int i = 0; i < finalXPoints.length; i++) {
+    		finalDensityPoints[i] = linearApproximate(backupXPoints, densityPoints, Math.log(finalXPoints[i]/(1.0 - finalXPoints[i])), 0.0, 0.0)*(1.0/(finalXPoints[i]*(1.0-finalXPoints[i])));
+    		if (DEBUG) {
+                System.out.println(finalXPoints[i] + "\t" + finalDensityPoints[i]);
+            }
+    	}
+    	
+    	//System.exit(0);
+    	
+    }
+
+    private void transformData() {
+        ComplexArray Y  = new ComplexArray(massdist(this.logitSample, lo, up, this.gridSize));
+        FastFourierTransform.fft(Y, false);
+
+        ComplexArray product = Y.product(kOrdinates);
+        FastFourierTransform.fft(product, true);
+
+        densityPoints = rescaleAndTrim(product.real); 
+        /*System.out.println("Y");
+        for (int i = 0; i < gridSize; i++) {
+        	System.out.println(densityPoints[i]);
+        }*/
+    }
+
+    private void makeOrdinates() {
+
+        final int length = 2 * gridSize;
+        if (kOrdinates == null) {
+            kOrdinates = new ComplexArray(new double[length]);
+        }
+
+        // Fill with grid values
+        final double max = 2.0 * (up - lo);
+        double value = 0;
+        final double inc = max / (length - 1);
+        for (int i = 0; i <= gridSize; i++) {
+            kOrdinates.real[i] = value;
+            value += inc;
+        }
+        for (int i = gridSize + 1; i < length; i++) {
+            kOrdinates.real[i] = -kOrdinates.real[length - i];
+        }
+        fillKernelOrdinates(kOrdinates, bandWidth);
+
+        FastFourierTransform.fft(kOrdinates, false);
+        kOrdinates.conjugate();
+
+        // Make x grid
+        xPoints = new double[gridSize];
+        double x = lo;
+        double delta = (up - lo) / (gridSize - 1);
+        //System.out.println("X");
+        for (int i = 0; i < gridSize; i++) {
+            xPoints[i] = x;
+            x += delta;
+            //System.out.println(xPoints[i]);
+        }
+        //System.out.println();
+    }
+
+    @Override
+    protected double evaluateKernel(double x) {        
+        if (!densityKnown) {
+        	//computeDensity() calls makeOrdinates and transformData
+        	computeDensity();
+        }
+        //xPoints and densityPoints are now back in normal space
+        return linearApproximate(finalXPoints, finalDensityPoints, x, 0.0, 0.0);
+    }
+
+    @Override
+    protected void processBounds(Double lowerBound, Double upperBound) {
+        if ((lowerBound != null && lowerBound != Double.NEGATIVE_INFINITY) ||
+                (upperBound != null && upperBound != Double.POSITIVE_INFINITY)) {
+            throw new RuntimeException("LogTransformedNormalKDEDistribution must be unbounded");
+        }
+    }
+
+    @Override
+    protected void setBandWidth(Double bandWidth) {
+        if (bandWidth == null) {
+            // Default bandwidth
+            this.bandWidth = bandwidthNRD(sample);
+        } else
+            this.bandWidth = bandWidth;
+                    
+        densityKnown = false;
+    }
+
+    public double bandwidthNRD(double[] x) {
+        int[] indices = new int[x.length];
+        HeapSort.sort(x, indices);
+
+        final double h =
+                (DiscreteStatistics.quantile(0.75, x, indices) - DiscreteStatistics.quantile(0.25, x, indices)) / 1.34;
+        return 1.06 *
+                Math.min(Math.sqrt(DiscreteStatistics.variance(x)), h) *
+                Math.pow(x.length, -0.2);
+    }
+
+    private ComplexArray kOrdinates;
+    private double[] xPoints, finalXPoints, backupXPoints;
+    private double[] densityPoints, finalDensityPoints;
+    private double[] backupSample, logitSample;
+
+    private int gridSize;
+    private double cut;
+    private double from;
+    private double to;
+    private double lo;
+    private double up;
+
+    private boolean densityKnown = false;
+
+    public static void main(String[] args) {
+
+        //Generate a normal distribution, truncated at 0.0
+        Double[] samples = new Double[2000];
+        NormalDistribution dist = new NormalDistribution(0.5, 0.08);
+        for (int i = 0; i < samples.length; i++) {
+            samples[i] = 1.0-Math.abs((Double)dist.nextRandom()-0.5);
+        }
+
+        //Generate R code for visualisation
+        System.out.print("par(mfrow=c(2,2))\n\nsamples <- c(");
+        for (int i = 0; i < samples.length-1; i++) {
+            System.out.print(samples[i] + ",");
+        }
+        System.out.println(samples[samples.length-1] + ")\n");
+        System.out.println("hist(samples,200,xlim=c(0.5,1.0))\n");
+        System.out.println("plot(density(samples),xlim=c(0.5,1.0))\n");
+
+        LogitTransformedNormalKDEDistribution ltn = new LogitTransformedNormalKDEDistribution(samples);
+        NormalKDEDistribution nKDE = new NormalKDEDistribution(samples);
+
+        System.out.print("normalKDE <- c(");
+        for (int i = 0; i < 1999; i++) {
+            Double test = 0.0 + ((double)i)/((double)1000);
+            System.out.print(nKDE.evaluateKernel(test) + ",");
+        }
+        System.out.println(nKDE.evaluateKernel(((double)1999)/((double)1000)) + ")\n");
+        System.out.println("index <- seq(0.0,1.999,by=0.001)");
+        System.out.println("plot(index,normalKDE,type=\"l\",xlim=c(0.5,1.0))\n");
+
+        System.out.print("TransKDE <- c(");
+        for (int i = 0; i < 1999; i++) {
+            Double test = 0.0 + ((double)i)/((double)1000);
+            System.out.print(ltn.evaluateKernel(test) + ",");
+        }
+        System.out.println(ltn.evaluateKernel(((double)1999)/((double)1000)) + ")\n");
+        System.out.println("plot(index,TransKDE,type=\"l\",xlim=c(0.5,1.0))");
+
+    }
+
+}
\ No newline at end of file
diff --git a/src/dr/math/distributions/MultivariateDistribution.java b/src/dr/math/distributions/MultivariateDistribution.java
index 81d43f9..47811c0 100644
--- a/src/dr/math/distributions/MultivariateDistribution.java
+++ b/src/dr/math/distributions/MultivariateDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * MultivariateDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 /**
diff --git a/src/dr/math/distributions/MultivariateGammaDistribution.java b/src/dr/math/distributions/MultivariateGammaDistribution.java
index 2c41bca..f45d383 100644
--- a/src/dr/math/distributions/MultivariateGammaDistribution.java
+++ b/src/dr/math/distributions/MultivariateGammaDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * MultivariateGammaDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 /**
diff --git a/src/dr/math/distributions/MultivariateKDEDistribution.java b/src/dr/math/distributions/MultivariateKDEDistribution.java
index 937f6fe..018d526 100644
--- a/src/dr/math/distributions/MultivariateKDEDistribution.java
+++ b/src/dr/math/distributions/MultivariateKDEDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * MultivariateKDEDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 /**
@@ -6,10 +31,11 @@ package dr.math.distributions;
 public class MultivariateKDEDistribution implements MultivariateDistribution {
 	
 	public static final String TYPE = "multivariateKDE";
+    public static final boolean DEBUG = true;
 	
 	private Distribution[] multivariateKDE;
 	private int dimension;
-	private boolean[] flags;
+	//private boolean[] flags;
 
 	public MultivariateKDEDistribution (Distribution[] multivariateKDE) {
 		
@@ -19,12 +45,10 @@ public class MultivariateKDEDistribution implements MultivariateDistribution {
 		
 		this.multivariateKDE = multivariateKDE;
 		this.dimension = multivariateKDE.length;
-		for (int i = 0; i < dimension; i++) {
+		/*for (int i = 0; i < dimension; i++) {
 			flags[i] = true;
-		}
-		
-		//System.out.println("Constructed multivariate KDE distribution with " + dimension + " dimensions.");
-		
+		}*/
+
 	}
 	
 	public MultivariateKDEDistribution (Distribution[] multivariateKDE, boolean[] flags) {
@@ -35,16 +59,8 @@ public class MultivariateKDEDistribution implements MultivariateDistribution {
 		
 		this.multivariateKDE = multivariateKDE;
 		this.dimension = multivariateKDE.length;
-		this.flags = flags;
-		
-		/*System.out.println("Constructed multivariate KDE distribution with " + dimension + " dimensions.");
-		System.out.println("Flags:");
-		for (int i = 0; i < dimension; i++) {
-			if (flags[i]) {
-				System.out.println("  Dimension " + i);
-			}
-		}*/
-		
+		//this.flags = flags;
+
 	}
 
 	public double logPdf(double[] x) {
@@ -56,10 +72,17 @@ public class MultivariateKDEDistribution implements MultivariateDistribution {
         }
 		
 		for (int i = 0; i < dimension; i++) {
-			if (flags[i]) {
-				logPdf += multivariateKDE[i].logPdf(x[i]);
-			}
+			//if (flags[i]) {
+			logPdf += multivariateKDE[i].logPdf(x[i]);
+			//}
 		}
+
+        if (DEBUG){
+            for (int i = 0; i < dimension; i++) {
+                System.err.println(i + ", " + "x[i] = " + x[i] + ", logPdf = " + multivariateKDE[i].logPdf(x[i]));
+                System.err.println("    mean = " + multivariateKDE[i].mean() + ", variance = " + multivariateKDE[i].variance());
+            }
+        }
 		
 		return logPdf;
 	}
diff --git a/src/dr/math/distributions/MultivariateNormalDistribution.java b/src/dr/math/distributions/MultivariateNormalDistribution.java
index b358c71..ceefe83 100644
--- a/src/dr/math/distributions/MultivariateNormalDistribution.java
+++ b/src/dr/math/distributions/MultivariateNormalDistribution.java
@@ -1,7 +1,7 @@
 /*
  * MultivariateNormalDistribution.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -25,6 +25,7 @@
 
 package dr.math.distributions;
 
+import dr.inference.model.Likelihood;
 import dr.math.MathUtils;
 import dr.math.matrixAlgebra.*;
 
@@ -303,4 +304,8 @@ public class MultivariateNormalDistribution implements MultivariateDistribution,
         double[] v = (double[]) x;
         return logPdf(v);
     }
+
+    public Likelihood getLikelihood() {
+        return null;
+    }
 }
diff --git a/src/dr/math/distributions/MultivariatePolyaDistributionLikelihood.java b/src/dr/math/distributions/MultivariatePolyaDistributionLikelihood.java
index d7ab846..481d776 100644
--- a/src/dr/math/distributions/MultivariatePolyaDistributionLikelihood.java
+++ b/src/dr/math/distributions/MultivariatePolyaDistributionLikelihood.java
@@ -1,3 +1,28 @@
+/*
+ * MultivariatePolyaDistributionLikelihood.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.inference.loggers.LogColumn;
diff --git a/src/dr/math/distributions/NegativeBinomialDistribution.java b/src/dr/math/distributions/NegativeBinomialDistribution.java
index 1abe6e3..2c6d482 100644
--- a/src/dr/math/distributions/NegativeBinomialDistribution.java
+++ b/src/dr/math/distributions/NegativeBinomialDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * NegativeBinomialDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 import dr.math.GammaFunction;
 import dr.math.UnivariateFunction;
diff --git a/src/dr/math/distributions/NormalDistribution.java b/src/dr/math/distributions/NormalDistribution.java
index 1720eed..e545974 100644
--- a/src/dr/math/distributions/NormalDistribution.java
+++ b/src/dr/math/distributions/NormalDistribution.java
@@ -1,7 +1,7 @@
 /*
  * NormalDistribution.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/distributions/NormalGammaDistribution.java b/src/dr/math/distributions/NormalGammaDistribution.java
index 46109b7..f54336f 100644
--- a/src/dr/math/distributions/NormalGammaDistribution.java
+++ b/src/dr/math/distributions/NormalGammaDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * NormalGammaDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 
diff --git a/src/dr/math/distributions/NormalKDEDistribution.java b/src/dr/math/distributions/NormalKDEDistribution.java
index 1fbc35c..6525fbe 100644
--- a/src/dr/math/distributions/NormalKDEDistribution.java
+++ b/src/dr/math/distributions/NormalKDEDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * NormalKDEDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.math.ComplexArray;
@@ -5,6 +30,8 @@ import dr.math.FastFourierTransform;
 import dr.stats.DiscreteStatistics;
 import dr.util.HeapSort;
 
+import java.util.Random;
+
 /**
  * @author Marc A. Suchard
  */
@@ -260,4 +287,27 @@ public class NormalKDEDistribution extends KernelDensityEstimatorDistribution {
     private double up;
 
     private boolean densityKnown = false;
+
+    public static void main(String[] args) {
+
+        long start = System.currentTimeMillis();
+
+        Random random = new Random(1234);
+
+        Double[] samples = new Double[10000000];
+        for (int i = 0; i < samples.length; i++) {
+            samples[i] = random.nextDouble();
+        }
+        NormalKDEDistribution nKDE = new NormalKDEDistribution(samples);
+
+        for (int i = 0; i < 100; i++) {
+            nKDE.evaluateKernel(random.nextDouble());
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.out.println("Time: " + (end-start));
+
+    }
+
 }
\ No newline at end of file
diff --git a/src/dr/math/distributions/OffsetPositiveDistribution.java b/src/dr/math/distributions/OffsetPositiveDistribution.java
index 1a31378..2d9dadd 100644
--- a/src/dr/math/distributions/OffsetPositiveDistribution.java
+++ b/src/dr/math/distributions/OffsetPositiveDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * OffsetPositiveDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.math.UnivariateFunction;
diff --git a/src/dr/math/distributions/PoissonDistribution.java b/src/dr/math/distributions/PoissonDistribution.java
index 0fc33a2..0898e30 100644
--- a/src/dr/math/distributions/PoissonDistribution.java
+++ b/src/dr/math/distributions/PoissonDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * PoissonDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.math.Poisson;
diff --git a/src/dr/math/distributions/RandomGenerator.java b/src/dr/math/distributions/RandomGenerator.java
index 0d82448..0844fb0 100644
--- a/src/dr/math/distributions/RandomGenerator.java
+++ b/src/dr/math/distributions/RandomGenerator.java
@@ -1,7 +1,7 @@
 /*
  * RandomGenerator.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/distributions/ReflectedNormalDistribution.java b/src/dr/math/distributions/ReflectedNormalDistribution.java
index eaf949d..20a17d9 100644
--- a/src/dr/math/distributions/ReflectedNormalDistribution.java
+++ b/src/dr/math/distributions/ReflectedNormalDistribution.java
@@ -1,7 +1,7 @@
 /*
- * NormalDistribution.java
+ * ReflectedNormalDistribution.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/distributions/TDistribution.java b/src/dr/math/distributions/TDistribution.java
index cef750f..71a217e 100644
--- a/src/dr/math/distributions/TDistribution.java
+++ b/src/dr/math/distributions/TDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * TDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.math.GammaFunction;
diff --git a/src/dr/math/distributions/TruncatedDistribution.java b/src/dr/math/distributions/TruncatedDistribution.java
index 1cc207f..4147831 100644
--- a/src/dr/math/distributions/TruncatedDistribution.java
+++ b/src/dr/math/distributions/TruncatedDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * TruncatedDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.math.UnivariateFunction;
diff --git a/src/dr/math/distributions/TruncatedNormalDistribution.java b/src/dr/math/distributions/TruncatedNormalDistribution.java
index ff3c406..6a4b6da 100644
--- a/src/dr/math/distributions/TruncatedNormalDistribution.java
+++ b/src/dr/math/distributions/TruncatedNormalDistribution.java
@@ -1,3 +1,28 @@
+/*
+ * TruncatedNormalDistribution.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import dr.math.ErrorFunction;
diff --git a/src/dr/math/distributions/UniformDistribution.java b/src/dr/math/distributions/UniformDistribution.java
index 8c9d30e..5370a4f 100644
--- a/src/dr/math/distributions/UniformDistribution.java
+++ b/src/dr/math/distributions/UniformDistribution.java
@@ -1,7 +1,7 @@
 /*
  * UniformDistribution.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/distributions/WishartDistribution.java b/src/dr/math/distributions/WishartDistribution.java
index 583ec1d..84fd362 100644
--- a/src/dr/math/distributions/WishartDistribution.java
+++ b/src/dr/math/distributions/WishartDistribution.java
@@ -1,7 +1,7 @@
 /*
  * WishartDistribution.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/distributions/WishartStatistics.java b/src/dr/math/distributions/WishartStatistics.java
index 884d5ff..2999bb2 100644
--- a/src/dr/math/distributions/WishartStatistics.java
+++ b/src/dr/math/distributions/WishartStatistics.java
@@ -1,7 +1,7 @@
 /*
  * WishartStatistics.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/distributions/WishartSufficientStatistics.java b/src/dr/math/distributions/WishartSufficientStatistics.java
index 1b19e48..c314960 100644
--- a/src/dr/math/distributions/WishartSufficientStatistics.java
+++ b/src/dr/math/distributions/WishartSufficientStatistics.java
@@ -1,3 +1,28 @@
+/*
+ * WishartSufficientStatistics.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.distributions;
 
 import java.util.Arrays;
diff --git a/src/dr/math/functionEval/DrMath.java b/src/dr/math/functionEval/DrMath.java
index 56233b7..e9dd3c0 100644
--- a/src/dr/math/functionEval/DrMath.java
+++ b/src/dr/math/functionEval/DrMath.java
@@ -1,7 +1,7 @@
 /*
  * DrMath.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/functionEval/FunctionDerivative.java b/src/dr/math/functionEval/FunctionDerivative.java
index 75c1be6..fb20cae 100644
--- a/src/dr/math/functionEval/FunctionDerivative.java
+++ b/src/dr/math/functionEval/FunctionDerivative.java
@@ -1,7 +1,7 @@
 /*
  * FunctionDerivative.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/functionEval/GammaFunction.java b/src/dr/math/functionEval/GammaFunction.java
index 7b0a6d0..24004a5 100644
--- a/src/dr/math/functionEval/GammaFunction.java
+++ b/src/dr/math/functionEval/GammaFunction.java
@@ -1,7 +1,7 @@
 /*
  * GammaFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/functionEval/PolynomialFunction.java b/src/dr/math/functionEval/PolynomialFunction.java
index 5bcec12..42a5249 100644
--- a/src/dr/math/functionEval/PolynomialFunction.java
+++ b/src/dr/math/functionEval/PolynomialFunction.java
@@ -1,7 +1,7 @@
 /*
  * PolynomialFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/interfaces/ConjugateWishartStatisticsProvider.java b/src/dr/math/interfaces/ConjugateWishartStatisticsProvider.java
index 1dfbca2..a32146a 100644
--- a/src/dr/math/interfaces/ConjugateWishartStatisticsProvider.java
+++ b/src/dr/math/interfaces/ConjugateWishartStatisticsProvider.java
@@ -1,7 +1,7 @@
 /*
- * ConjugateOuterProductProvider.java
+ * ConjugateWishartStatisticsProvider.java
  *
- * Copyright (c) 2002-2011 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/interfaces/CurveMouseClickListener.java b/src/dr/math/interfaces/CurveMouseClickListener.java
index 600485f..922aa34 100644
--- a/src/dr/math/interfaces/CurveMouseClickListener.java
+++ b/src/dr/math/interfaces/CurveMouseClickListener.java
@@ -1,7 +1,7 @@
 /*
  * CurveMouseClickListener.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/interfaces/ManyVariableFunction.java b/src/dr/math/interfaces/ManyVariableFunction.java
index f3e884f..eacdc75 100644
--- a/src/dr/math/interfaces/ManyVariableFunction.java
+++ b/src/dr/math/interfaces/ManyVariableFunction.java
@@ -1,7 +1,7 @@
 /*
  * ManyVariableFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/interfaces/OneVariableFunction.java b/src/dr/math/interfaces/OneVariableFunction.java
index 2f42d94..dd55291 100644
--- a/src/dr/math/interfaces/OneVariableFunction.java
+++ b/src/dr/math/interfaces/OneVariableFunction.java
@@ -1,7 +1,7 @@
 /*
  * OneVariableFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/interfaces/ParametrizedOneVariableFunction.java b/src/dr/math/interfaces/ParametrizedOneVariableFunction.java
index 3edde10..9fed7f4 100644
--- a/src/dr/math/interfaces/ParametrizedOneVariableFunction.java
+++ b/src/dr/math/interfaces/ParametrizedOneVariableFunction.java
@@ -1,7 +1,7 @@
 /*
  * ParametrizedOneVariableFunction.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/interfaces/PointSeries.java b/src/dr/math/interfaces/PointSeries.java
index ae65af6..21a656c 100644
--- a/src/dr/math/interfaces/PointSeries.java
+++ b/src/dr/math/interfaces/PointSeries.java
@@ -1,7 +1,7 @@
 /*
  * PointSeries.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/interfaces/PointSeriesWithErrors.java b/src/dr/math/interfaces/PointSeriesWithErrors.java
index f0d8eff..a30e26b 100644
--- a/src/dr/math/interfaces/PointSeriesWithErrors.java
+++ b/src/dr/math/interfaces/PointSeriesWithErrors.java
@@ -1,7 +1,7 @@
 /*
  * PointSeriesWithErrors.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/iterations/BisectionZeroFinder.java b/src/dr/math/iterations/BisectionZeroFinder.java
index 37f54e8..0056ef3 100644
--- a/src/dr/math/iterations/BisectionZeroFinder.java
+++ b/src/dr/math/iterations/BisectionZeroFinder.java
@@ -1,7 +1,7 @@
 /*
  * BisectionZeroFinder.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/iterations/FunctionalIterator.java b/src/dr/math/iterations/FunctionalIterator.java
index 3c898a3..f67fa55 100644
--- a/src/dr/math/iterations/FunctionalIterator.java
+++ b/src/dr/math/iterations/FunctionalIterator.java
@@ -1,7 +1,7 @@
 /*
  * FunctionalIterator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/iterations/IterativeProcess.java b/src/dr/math/iterations/IterativeProcess.java
index 77c932a..d21721b 100644
--- a/src/dr/math/iterations/IterativeProcess.java
+++ b/src/dr/math/iterations/IterativeProcess.java
@@ -1,7 +1,7 @@
 /*
  * IterativeProcess.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/iterations/NewtonZeroFinder.java b/src/dr/math/iterations/NewtonZeroFinder.java
index d59af55..33276b1 100644
--- a/src/dr/math/iterations/NewtonZeroFinder.java
+++ b/src/dr/math/iterations/NewtonZeroFinder.java
@@ -1,7 +1,7 @@
 /*
  * NewtonZeroFinder.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/matrixAlgebra/CholeskyDecomposition.java b/src/dr/math/matrixAlgebra/CholeskyDecomposition.java
index 489c543..ce63fae 100644
--- a/src/dr/math/matrixAlgebra/CholeskyDecomposition.java
+++ b/src/dr/math/matrixAlgebra/CholeskyDecomposition.java
@@ -1,3 +1,28 @@
+/*
+ * CholeskyDecomposition.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.matrixAlgebra;
 
 /**
diff --git a/src/dr/math/matrixAlgebra/IllegalDimension.java b/src/dr/math/matrixAlgebra/IllegalDimension.java
index 32b13c7..d571eac 100644
--- a/src/dr/math/matrixAlgebra/IllegalDimension.java
+++ b/src/dr/math/matrixAlgebra/IllegalDimension.java
@@ -1,7 +1,7 @@
 /*
  * IllegalDimension.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/matrixAlgebra/JacobiTransformation.java b/src/dr/math/matrixAlgebra/JacobiTransformation.java
index a49715c..7f45c45 100644
--- a/src/dr/math/matrixAlgebra/JacobiTransformation.java
+++ b/src/dr/math/matrixAlgebra/JacobiTransformation.java
@@ -1,7 +1,7 @@
 /*
  * JacobiTransformation.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/matrixAlgebra/LUPDecomposition.java b/src/dr/math/matrixAlgebra/LUPDecomposition.java
index bf06054..fa97df8 100644
--- a/src/dr/math/matrixAlgebra/LUPDecomposition.java
+++ b/src/dr/math/matrixAlgebra/LUPDecomposition.java
@@ -1,7 +1,7 @@
 /*
  * LUPDecomposition.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/matrixAlgebra/LargestEigenvalueFinder.java b/src/dr/math/matrixAlgebra/LargestEigenvalueFinder.java
index 132c34e..0f9c321 100644
--- a/src/dr/math/matrixAlgebra/LargestEigenvalueFinder.java
+++ b/src/dr/math/matrixAlgebra/LargestEigenvalueFinder.java
@@ -1,7 +1,7 @@
 /*
  * LargestEigenvalueFinder.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/matrixAlgebra/LinearEquations.java b/src/dr/math/matrixAlgebra/LinearEquations.java
index a8fbfcb..a06cdac 100644
--- a/src/dr/math/matrixAlgebra/LinearEquations.java
+++ b/src/dr/math/matrixAlgebra/LinearEquations.java
@@ -1,7 +1,7 @@
 /*
  * LinearEquations.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/matrixAlgebra/Matrix.java b/src/dr/math/matrixAlgebra/Matrix.java
index 90c8e20..6ef446e 100644
--- a/src/dr/math/matrixAlgebra/Matrix.java
+++ b/src/dr/math/matrixAlgebra/Matrix.java
@@ -1,7 +1,7 @@
 /*
  * Matrix.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/matrixAlgebra/NonSymmetricComponents.java b/src/dr/math/matrixAlgebra/NonSymmetricComponents.java
index 7546d07..8a76d55 100644
--- a/src/dr/math/matrixAlgebra/NonSymmetricComponents.java
+++ b/src/dr/math/matrixAlgebra/NonSymmetricComponents.java
@@ -1,7 +1,7 @@
 /*
  * NonSymmetricComponents.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/matrixAlgebra/RobustEigenDecomposition.java b/src/dr/math/matrixAlgebra/RobustEigenDecomposition.java
index cee69d1..9f49381 100644
--- a/src/dr/math/matrixAlgebra/RobustEigenDecomposition.java
+++ b/src/dr/math/matrixAlgebra/RobustEigenDecomposition.java
@@ -1,3 +1,28 @@
+/*
+ * RobustEigenDecomposition.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.math.matrixAlgebra;
 
 
@@ -8,15 +33,6 @@ import cern.colt.matrix.DoubleMatrix2D;
 import cern.colt.matrix.linalg.Property;
 import dr.math.MathUtils;
 
-/**
- * Copyright ? 1999 CERN - European Organization for Nuclear Research.
- *
- * This code is adapted from COLT 1.2; Eigendecomposition now throws an ArithmeticException if calculations
- * do not converge within 'maxIterations'
- *
- * @author Marc A. Suchard
- */
-
 public class RobustEigenDecomposition implements java.io.Serializable {
 	static final long serialVersionUID = 1020;
 	/** Row and column dimension (square matrix).
diff --git a/src/dr/math/matrixAlgebra/RobustSingularValueDecomposition.java b/src/dr/math/matrixAlgebra/RobustSingularValueDecomposition.java
index 5666cca..37e3628 100644
--- a/src/dr/math/matrixAlgebra/RobustSingularValueDecomposition.java
+++ b/src/dr/math/matrixAlgebra/RobustSingularValueDecomposition.java
@@ -1,15 +1,30 @@
-package dr.math.matrixAlgebra;
-
-/**
- * Copyright ? 1999 CERN - European Organization for Nuclear Research.
+/*
+ * RobustSingularValueDecomposition.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
- * This code is adapted from COLT 1.2; SVD now throws an ArithmeticException if calculations
- * do not converge within 'maxIterations'
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
  *
- * @author Marc A. Suchard
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
  *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
+package dr.math.matrixAlgebra;
+
 import cern.colt.matrix.DoubleFactory2D;
 import cern.colt.matrix.DoubleMatrix2D;
 import cern.colt.matrix.linalg.Property;
diff --git a/src/dr/math/matrixAlgebra/SymmetricMatrix.java b/src/dr/math/matrixAlgebra/SymmetricMatrix.java
index e377e31..92b7a14 100644
--- a/src/dr/math/matrixAlgebra/SymmetricMatrix.java
+++ b/src/dr/math/matrixAlgebra/SymmetricMatrix.java
@@ -1,7 +1,7 @@
 /*
  * SymmetricMatrix.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/math/matrixAlgebra/Vector.java b/src/dr/math/matrixAlgebra/Vector.java
index ff945e6..e44d38f 100644
--- a/src/dr/math/matrixAlgebra/Vector.java
+++ b/src/dr/math/matrixAlgebra/Vector.java
@@ -1,7 +1,7 @@
 /*
  * Vector.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/matrix/ConcreteMatrix.java b/src/dr/matrix/ConcreteMatrix.java
index 4d0c487..57aff19 100644
--- a/src/dr/matrix/ConcreteMatrix.java
+++ b/src/dr/matrix/ConcreteMatrix.java
@@ -1,7 +1,7 @@
 /*
  * ConcreteMatrix.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/matrix/Matrix.java b/src/dr/matrix/Matrix.java
index 01cd92e..211d966 100644
--- a/src/dr/matrix/Matrix.java
+++ b/src/dr/matrix/Matrix.java
@@ -1,7 +1,7 @@
 /*
  * Matrix.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/matrix/MutableMatrix.java b/src/dr/matrix/MutableMatrix.java
index a078749..5ec15d6 100644
--- a/src/dr/matrix/MutableMatrix.java
+++ b/src/dr/matrix/MutableMatrix.java
@@ -1,7 +1,7 @@
 /*
  * MutableMatrix.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/stats/DiscreteStatistics.java b/src/dr/stats/DiscreteStatistics.java
index 98f51bf..8727eba 100644
--- a/src/dr/stats/DiscreteStatistics.java
+++ b/src/dr/stats/DiscreteStatistics.java
@@ -1,7 +1,7 @@
 /*
  * DiscreteStatistics.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/stats/Regression.java b/src/dr/stats/Regression.java
index 9ec1782..4d94460 100644
--- a/src/dr/stats/Regression.java
+++ b/src/dr/stats/Regression.java
@@ -1,7 +1,7 @@
 /*
  * Regression.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/stats/Variate.java b/src/dr/stats/Variate.java
index 9542415..afddaf4 100644
--- a/src/dr/stats/Variate.java
+++ b/src/dr/stats/Variate.java
@@ -1,7 +1,7 @@
 /*
  * Variate.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/util/AlloppMisc.java b/src/dr/util/AlloppMisc.java
index 602ae6c..82e5682 100644
--- a/src/dr/util/AlloppMisc.java
+++ b/src/dr/util/AlloppMisc.java
@@ -1,3 +1,28 @@
+/*
+ * AlloppMisc.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.util;
 
 import java.util.Formatter;
diff --git a/src/dr/util/Assert.java b/src/dr/util/Assert.java
index 13eeab9..f59e0be 100644
--- a/src/dr/util/Assert.java
+++ b/src/dr/util/Assert.java
@@ -1,7 +1,7 @@
 /*
  * Assert.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/Attributable.java b/src/dr/util/Attributable.java
index bec8209..8d8bbc7 100644
--- a/src/dr/util/Attributable.java
+++ b/src/dr/util/Attributable.java
@@ -1,7 +1,7 @@
 /*
  * Attributable.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/Attribute.java b/src/dr/util/Attribute.java
index 43c7b52..08d773f 100644
--- a/src/dr/util/Attribute.java
+++ b/src/dr/util/Attribute.java
@@ -1,7 +1,7 @@
 /*
  * Attribute.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/Author.java b/src/dr/util/Author.java
index 59fe4c4..b21e226 100644
--- a/src/dr/util/Author.java
+++ b/src/dr/util/Author.java
@@ -1,3 +1,28 @@
+/*
+ * Author.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.util;
 
 /**
diff --git a/src/dr/util/Citable.java b/src/dr/util/Citable.java
index b9a71d3..2b1c27c 100644
--- a/src/dr/util/Citable.java
+++ b/src/dr/util/Citable.java
@@ -1,3 +1,28 @@
+/*
+ * Citable.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.util;
 
 import java.util.List;
diff --git a/src/dr/util/Citation.java b/src/dr/util/Citation.java
index 6b357da..f4b9e30 100644
--- a/src/dr/util/Citation.java
+++ b/src/dr/util/Citation.java
@@ -1,3 +1,28 @@
+/*
+ * Citation.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.util;
 
 /**
diff --git a/src/dr/util/CollectionHash.java b/src/dr/util/CollectionHash.java
index 55ca9e3..16b729f 100644
--- a/src/dr/util/CollectionHash.java
+++ b/src/dr/util/CollectionHash.java
@@ -1,7 +1,7 @@
 /*
  * CollectionHash.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/CommonCitations.java b/src/dr/util/CommonCitations.java
index 73a8bff..67b66c0 100644
--- a/src/dr/util/CommonCitations.java
+++ b/src/dr/util/CommonCitations.java
@@ -1,7 +1,7 @@
 /*
  * CommonCitations.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/ComparableDouble.java b/src/dr/util/ComparableDouble.java
index 0bb3ea6..072819c 100644
--- a/src/dr/util/ComparableDouble.java
+++ b/src/dr/util/ComparableDouble.java
@@ -1,7 +1,7 @@
 /*
  * ComparableDouble.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/DataTable.java b/src/dr/util/DataTable.java
index 0333676..eab08f2 100644
--- a/src/dr/util/DataTable.java
+++ b/src/dr/util/DataTable.java
@@ -1,3 +1,28 @@
+/*
+ * DataTable.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.util;
 
 import java.io.*;
diff --git a/src/dr/util/ErrorLogHandler.java b/src/dr/util/ErrorLogHandler.java
index 79c3973..526076b 100644
--- a/src/dr/util/ErrorLogHandler.java
+++ b/src/dr/util/ErrorLogHandler.java
@@ -1,7 +1,7 @@
 /*
  * ErrorLogHandler.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/FileHelpers.java b/src/dr/util/FileHelpers.java
index 898a3a8..83c8baf 100644
--- a/src/dr/util/FileHelpers.java
+++ b/src/dr/util/FileHelpers.java
@@ -1,7 +1,7 @@
 /*
  * FileHelpers.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/util/FrequencyDistribution.java b/src/dr/util/FrequencyDistribution.java
index 78244c4..e970117 100644
--- a/src/dr/util/FrequencyDistribution.java
+++ b/src/dr/util/FrequencyDistribution.java
@@ -1,7 +1,7 @@
 /*
  * FrequencyDistribution.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/FrequencySet.java b/src/dr/util/FrequencySet.java
index 7a9ecf2..373e9b6 100644
--- a/src/dr/util/FrequencySet.java
+++ b/src/dr/util/FrequencySet.java
@@ -1,7 +1,7 @@
 /*
  * FrequencySet.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/HTMLOutput.java b/src/dr/util/HTMLOutput.java
index cb97b9c..fa54c91 100644
--- a/src/dr/util/HTMLOutput.java
+++ b/src/dr/util/HTMLOutput.java
@@ -1,7 +1,7 @@
 /*
  * HTMLOutput.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/HeapSort.java b/src/dr/util/HeapSort.java
index 09693f9..9e21b4f 100644
--- a/src/dr/util/HeapSort.java
+++ b/src/dr/util/HeapSort.java
@@ -1,7 +1,7 @@
 /*
  * HeapSort.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/util/Identifiable.java b/src/dr/util/Identifiable.java
index 887160d..c814995 100644
--- a/src/dr/util/Identifiable.java
+++ b/src/dr/util/Identifiable.java
@@ -1,7 +1,7 @@
 /*
  * Identifiable.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/util/MergeSort.java b/src/dr/util/MergeSort.java
index 47c6a8e..b694968 100644
--- a/src/dr/util/MergeSort.java
+++ b/src/dr/util/MergeSort.java
@@ -1,7 +1,7 @@
 /*
  * MergeSort.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -24,26 +24,6 @@
  */
 
 package dr.util;
-/*
- * MergeSort.java
- *
- * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.
- *
- * This software is the confidential and proprietary information of Sun
- * Microsystems, Inc. ("Confidential Information").  You shall not
- * disclose such Confidential Information and shall use it only in
- * accordance with the terms of the license agreement you entered into
- * with Sun.
- *
- * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
- * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
- * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
- * THIS SOFTWARE OR ITS DERIVATIVES.
- *
- */
-
 /**
  * An implementation of MergeSort, needs to be subclassed to
  * compare the terms.
diff --git a/src/dr/util/MessageLogHandler.java b/src/dr/util/MessageLogHandler.java
index 46793f1..8be12c0 100644
--- a/src/dr/util/MessageLogHandler.java
+++ b/src/dr/util/MessageLogHandler.java
@@ -1,7 +1,7 @@
 /*
  * MessageLogHandler.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/NumberFormatter.java b/src/dr/util/NumberFormatter.java
index 31cae67..f7037e6 100644
--- a/src/dr/util/NumberFormatter.java
+++ b/src/dr/util/NumberFormatter.java
@@ -1,7 +1,7 @@
 /*
  * NumberFormatter.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/Permutator.java b/src/dr/util/Permutator.java
index f333ae8..c33c4d7 100644
--- a/src/dr/util/Permutator.java
+++ b/src/dr/util/Permutator.java
@@ -1,7 +1,7 @@
 /*
  * Permutator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/Property.java b/src/dr/util/Property.java
index 0d141ab..f64f424 100644
--- a/src/dr/util/Property.java
+++ b/src/dr/util/Property.java
@@ -1,7 +1,7 @@
 /*
  * Property.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/TIFFWriter.java b/src/dr/util/TIFFWriter.java
index 6c964c0..62b2b8e 100644
--- a/src/dr/util/TIFFWriter.java
+++ b/src/dr/util/TIFFWriter.java
@@ -1,7 +1,7 @@
 /*
  * TIFFWriter.java
  *
- * Copyright (c) 2002-2014 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/TabularData.java b/src/dr/util/TabularData.java
index 534704b..1a2dff5 100644
--- a/src/dr/util/TabularData.java
+++ b/src/dr/util/TabularData.java
@@ -1,3 +1,28 @@
+/*
+ * TabularData.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.util;
 
 /**
diff --git a/src/dr/util/TaskListener.java b/src/dr/util/TaskListener.java
index 36a0526..eaaa3e3 100644
--- a/src/dr/util/TaskListener.java
+++ b/src/dr/util/TaskListener.java
@@ -1,3 +1,28 @@
+/*
+ * TaskListener.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.util;
 
 /**
diff --git a/src/dr/util/Timer.java b/src/dr/util/Timer.java
index 2bb0f85..f560bde 100644
--- a/src/dr/util/Timer.java
+++ b/src/dr/util/Timer.java
@@ -1,7 +1,7 @@
 /*
  * Timer.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/Transform.java b/src/dr/util/Transform.java
index 1ab1897..8357b53 100644
--- a/src/dr/util/Transform.java
+++ b/src/dr/util/Transform.java
@@ -1,7 +1,7 @@
 /*
  * Transform.java
  *
- * Copyright (c) 2002-2013 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/Version.java b/src/dr/util/Version.java
index af6ae52..b4d251f 100644
--- a/src/dr/util/Version.java
+++ b/src/dr/util/Version.java
@@ -1,7 +1,7 @@
 /*
  * Version.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/util/XHTMLable.java b/src/dr/util/XHTMLable.java
index 4e0182b..f0c1ae6 100644
--- a/src/dr/util/XHTMLable.java
+++ b/src/dr/util/XHTMLable.java
@@ -1,7 +1,7 @@
 /*
  * XHTMLable.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/AbstractXMLObjectParser.java b/src/dr/xml/AbstractXMLObjectParser.java
index 8ffc1b6..672750e 100644
--- a/src/dr/xml/AbstractXMLObjectParser.java
+++ b/src/dr/xml/AbstractXMLObjectParser.java
@@ -1,7 +1,7 @@
 /*
  * AbstractXMLObjectParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/AndRule.java b/src/dr/xml/AndRule.java
index 953f3e0..d1b8423 100644
--- a/src/dr/xml/AndRule.java
+++ b/src/dr/xml/AndRule.java
@@ -1,7 +1,7 @@
 /*
- * OrRule.java
+ * AndRule.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/AttributeParser.java b/src/dr/xml/AttributeParser.java
index dc54f10..8ea7b4b 100644
--- a/src/dr/xml/AttributeParser.java
+++ b/src/dr/xml/AttributeParser.java
@@ -1,7 +1,7 @@
 /*
  * AttributeParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/AttributeRule.java b/src/dr/xml/AttributeRule.java
index 5045ad4..7f695f3 100644
--- a/src/dr/xml/AttributeRule.java
+++ b/src/dr/xml/AttributeRule.java
@@ -1,7 +1,7 @@
 /*
  * AttributeRule.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/AttributesParser.java b/src/dr/xml/AttributesParser.java
index 64b1f5e..81e2799 100644
--- a/src/dr/xml/AttributesParser.java
+++ b/src/dr/xml/AttributesParser.java
@@ -1,7 +1,7 @@
 /*
  * AttributesParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/ClassComparator.java b/src/dr/xml/ClassComparator.java
index b68094a..9a004f7 100644
--- a/src/dr/xml/ClassComparator.java
+++ b/src/dr/xml/ClassComparator.java
@@ -1,7 +1,7 @@
 /*
  * ClassComparator.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/ContentRule.java b/src/dr/xml/ContentRule.java
index 2a4e91a..873dfd8 100644
--- a/src/dr/xml/ContentRule.java
+++ b/src/dr/xml/ContentRule.java
@@ -1,7 +1,7 @@
 /*
  * ContentRule.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/ElementRule.java b/src/dr/xml/ElementRule.java
index 0513d7e..b335b5b 100644
--- a/src/dr/xml/ElementRule.java
+++ b/src/dr/xml/ElementRule.java
@@ -1,7 +1,7 @@
 /*
  * ElementRule.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/ObjectNotFoundException.java b/src/dr/xml/ObjectNotFoundException.java
index 66f1609..18bcc52 100644
--- a/src/dr/xml/ObjectNotFoundException.java
+++ b/src/dr/xml/ObjectNotFoundException.java
@@ -1,7 +1,7 @@
 /*
  * ObjectNotFoundException.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/ObjectStore.java b/src/dr/xml/ObjectStore.java
index 2336cbc..71fd6fd 100644
--- a/src/dr/xml/ObjectStore.java
+++ b/src/dr/xml/ObjectStore.java
@@ -1,7 +1,7 @@
 /*
  * ObjectStore.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/OrRule.java b/src/dr/xml/OrRule.java
index acdd7c2..c5dd2b8 100644
--- a/src/dr/xml/OrRule.java
+++ b/src/dr/xml/OrRule.java
@@ -1,7 +1,7 @@
 /*
  * OrRule.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/PropertyParser.java b/src/dr/xml/PropertyParser.java
index 10efd0a..bad96ff 100644
--- a/src/dr/xml/PropertyParser.java
+++ b/src/dr/xml/PropertyParser.java
@@ -1,7 +1,7 @@
 /*
  * PropertyParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/Reference.java b/src/dr/xml/Reference.java
index f3c986a..f2d46c1 100644
--- a/src/dr/xml/Reference.java
+++ b/src/dr/xml/Reference.java
@@ -1,7 +1,7 @@
 /*
  * Reference.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/Report.java b/src/dr/xml/Report.java
index 2d338a2..4257fd5 100644
--- a/src/dr/xml/Report.java
+++ b/src/dr/xml/Report.java
@@ -1,7 +1,7 @@
 /*
  * Report.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/xml/Reportable.java b/src/dr/xml/Reportable.java
index b89fc95..f0a320f 100644
--- a/src/dr/xml/Reportable.java
+++ b/src/dr/xml/Reportable.java
@@ -1,3 +1,28 @@
+/*
+ * Reportable.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.xml;
 
 /**
diff --git a/src/dr/xml/Spawnable.java b/src/dr/xml/Spawnable.java
index 76805d6..bb2d078 100644
--- a/src/dr/xml/Spawnable.java
+++ b/src/dr/xml/Spawnable.java
@@ -1,7 +1,7 @@
 /*
  * Spawnable.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/xml/StringAttributeRule.java b/src/dr/xml/StringAttributeRule.java
index 4038636..dc40eee 100644
--- a/src/dr/xml/StringAttributeRule.java
+++ b/src/dr/xml/StringAttributeRule.java
@@ -1,7 +1,7 @@
 /*
  * StringAttributeRule.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/xml/UserInput.java b/src/dr/xml/UserInput.java
index 5bb2f77..d4c0407 100644
--- a/src/dr/xml/UserInput.java
+++ b/src/dr/xml/UserInput.java
@@ -1,7 +1,7 @@
 /*
  * UserInput.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/WikiDocumentationHandler.java b/src/dr/xml/WikiDocumentationHandler.java
index 4458ca3..136180f 100644
--- a/src/dr/xml/WikiDocumentationHandler.java
+++ b/src/dr/xml/WikiDocumentationHandler.java
@@ -1,7 +1,7 @@
 /*
- * XMLDocumentationHandler.java
+ * WikiDocumentationHandler.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/XHTMLReport.java b/src/dr/xml/XHTMLReport.java
index e041594..9c411ac 100644
--- a/src/dr/xml/XHTMLReport.java
+++ b/src/dr/xml/XHTMLReport.java
@@ -1,7 +1,7 @@
 /*
  * XHTMLReport.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/XMLDocumentationHandler.java b/src/dr/xml/XMLDocumentationHandler.java
index 2a1004c..7f48444 100644
--- a/src/dr/xml/XMLDocumentationHandler.java
+++ b/src/dr/xml/XMLDocumentationHandler.java
@@ -1,7 +1,7 @@
 /*
  * XMLDocumentationHandler.java
  *
- * Copyright (C) 2002-2009 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
@@ -12,10 +12,10 @@
  * published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
  *
- * BEAST is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with BEAST; if not, write to the
diff --git a/src/dr/xml/XMLModelCombiner.java b/src/dr/xml/XMLModelCombiner.java
index 10ffc5d..6fac4bb 100644
--- a/src/dr/xml/XMLModelCombiner.java
+++ b/src/dr/xml/XMLModelCombiner.java
@@ -1,3 +1,28 @@
+/*
+ * XMLModelCombiner.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.xml;
 
 import org.jdom.output.XMLOutputter;
diff --git a/src/dr/xml/XMLModelFile.java b/src/dr/xml/XMLModelFile.java
index 470fe94..3f52287 100644
--- a/src/dr/xml/XMLModelFile.java
+++ b/src/dr/xml/XMLModelFile.java
@@ -1,3 +1,28 @@
+/*
+ * XMLModelFile.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.xml;
 
 import static dr.util.HeapSort.sort;
diff --git a/src/dr/xml/XMLModelIdentifiable.java b/src/dr/xml/XMLModelIdentifiable.java
index 059ad1a..0b41bb4 100644
--- a/src/dr/xml/XMLModelIdentifiable.java
+++ b/src/dr/xml/XMLModelIdentifiable.java
@@ -1,3 +1,28 @@
+/*
+ * XMLModelIdentifiable.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 package dr.xml;
 
 import org.jdom.Element;
diff --git a/src/dr/xml/XMLObject.java b/src/dr/xml/XMLObject.java
index e0bc573..6427181 100644
--- a/src/dr/xml/XMLObject.java
+++ b/src/dr/xml/XMLObject.java
@@ -1,7 +1,7 @@
 /*
  * XMLObject.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/XMLObjectParser.java b/src/dr/xml/XMLObjectParser.java
index 3caabc2..cb3e2c3 100644
--- a/src/dr/xml/XMLObjectParser.java
+++ b/src/dr/xml/XMLObjectParser.java
@@ -1,7 +1,7 @@
 /*
  * XMLObjectParser.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/XMLParseException.java b/src/dr/xml/XMLParseException.java
index 48e465a..ba88b4b 100644
--- a/src/dr/xml/XMLParseException.java
+++ b/src/dr/xml/XMLParseException.java
@@ -1,7 +1,7 @@
 /*
  * XMLParseException.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/XMLParser.java b/src/dr/xml/XMLParser.java
index 9b4b793..ec4bc83 100644
--- a/src/dr/xml/XMLParser.java
+++ b/src/dr/xml/XMLParser.java
@@ -1,7 +1,7 @@
 /*
  * XMLParser.java
  *
- * Copyright (c) 2002-2012 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/XMLSyntaxRule.java b/src/dr/xml/XMLSyntaxRule.java
index 00ff1cc..6ad7004 100644
--- a/src/dr/xml/XMLSyntaxRule.java
+++ b/src/dr/xml/XMLSyntaxRule.java
@@ -1,7 +1,7 @@
 /*
  * XMLSyntaxRule.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/dr/xml/XORRule.java b/src/dr/xml/XORRule.java
index d5d2bac..31bc3e1 100644
--- a/src/dr/xml/XORRule.java
+++ b/src/dr/xml/XORRule.java
@@ -1,7 +1,7 @@
 /*
  * XORRule.java
  *
- * Copyright (C) 2002-2006 Alexei Drummond and Andrew Rambaut
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
  *
  * This file is part of BEAST.
  * See the NOTICE file distributed with this work for additional
diff --git a/src/test/dr/math/GeneralizedIntegerGammaTest.java b/src/test/dr/math/GeneralizedIntegerGammaTest.java
new file mode 100644
index 0000000..f264fd1
--- /dev/null
+++ b/src/test/dr/math/GeneralizedIntegerGammaTest.java
@@ -0,0 +1,134 @@
+/*
+ * GeneralizedIntegerGammaTest.java
+ *
+ * Copyright (c) 2002-2015 Alexei Drummond, Andrew Rambaut and Marc Suchard
+ *
+ * This file is part of BEAST.
+ * See the NOTICE file distributed with this work for additional
+ * information regarding copyright ownership and licensing.
+ *
+ * BEAST 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; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *  BEAST is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with BEAST; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
+package test.dr.math;
+
+import dr.evomodel.branchratemodel.LatentStateBranchRateModel;
+import dr.inference.markovjumps.MarkovReward;
+import dr.inference.markovjumps.SericolaSeriesMarkovReward;
+import dr.inference.markovjumps.TwoStateOccupancyMarkovReward;
+import dr.math.IntegrableUnivariateFunction;
+import dr.math.distributions.GeneralizedIntegerGammaDistribution;
+import dr.math.matrixAlgebra.Vector;
+import org.apache.commons.math.FunctionEvaluationException;
+import org.apache.commons.math.MaxIterationsExceededException;
+import org.apache.commons.math.analysis.UnivariateRealFunction;
+import org.apache.commons.math.analysis.integration.TrapezoidIntegrator;
+
+/**
+ * @author Marc A. Suchard
+ */
+
+public class GeneralizedIntegerGammaTest extends MathTestCase {
+
+    private static final double tolerance = 10E-6;
+
+    private double sum(double[] v) {
+        double sum = 0.0;
+        for (double x : v) {
+            sum += x;
+        }
+        return sum;
+    }
+
+    int[] shape1s = new int[] { 10, 6, 2 };
+    int[] shape2s = new int[] { 1, 3, 4 };
+    double[] rate1s = new double[] { 0.1, 2, 3 };
+    double[] rate2s = new double[] { 2, 0.1, 0.2 };
+    double[] xs = new double[] { 0.1, 0.5, 1.2 };
+
+    public void testGeneratingFunction() {
+
+        for (int i = 0; i < shape1s.length; ++i) {
+            GeneralizedIntegerGammaDistribution gig = new GeneralizedIntegerGammaDistribution(
+                    shape1s[i], shape2s[i], rate1s[i], rate2s[i]
+            );
+
+            double a = gig.generatingFunction(xs[i]);
+            double b = gig.generatingFunctionPartialFraction(xs[i]);
+            assertEquals(a, b, tolerance);
+        }
+    }
+
+    public void testPdf() {
+
+        for (int i = 0; i < shape1s.length; ++i) {
+            final GeneralizedIntegerGammaDistribution gig = new GeneralizedIntegerGammaDistribution(
+                    shape1s[i], shape2s[i], rate1s[i], rate2s[i]
+            );
+
+            TrapezoidIntegrator integrator = new TrapezoidIntegrator();
+            double m0 = 0.0;
+            double m1 = 0.0;
+            double m2 = 0.0;
+            try {
+                m0 = integrator.integrate(
+                        new UnivariateRealFunction() {
+                            @Override
+                            public double value(double x) throws FunctionEvaluationException {
+                                final double pdf = gig.pdf(x);
+                                return pdf;
+                            }
+                        }, 0.0, 1000.0);
+
+                m1 = integrator.integrate(
+                        new UnivariateRealFunction() {
+                            @Override
+                            public double value(double x) throws FunctionEvaluationException {
+                                final double pdf = gig.pdf(x);
+                                return x * pdf;
+                            }
+                        }, 0.0, 1000.0);
+
+
+                m2 = integrator.integrate(
+                        new UnivariateRealFunction() {
+                            @Override
+                            public double value(double x) throws FunctionEvaluationException {
+                                final double pdf = gig.pdf(x);
+                                return x * x * pdf;
+                            }
+                        }, 0.0, 1000.0);
+
+            } catch (MaxIterationsExceededException e) {
+                e.printStackTrace();
+            } catch (FunctionEvaluationException e) {
+                e.printStackTrace();
+            }
+
+            // Check normalization
+            assertEquals(1.0, m0, tolerance);
+
+            // Check mean
+            double mean = shape1s[i] / rate1s[i] + shape2s[i] / rate2s[i];
+            assertEquals(mean, m1, tolerance);
+
+            // Check variance
+            m2 -= m1 * m1;
+            double variance = shape1s[i] / rate1s[i] / rate1s[i] + shape2s[i] / rate2s[i] / rate2s[i];
+            assertEquals(variance, m2, tolerance * 10); // Harder to approximate
+        }
+    }
+}

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



More information about the debian-med-commit mailing list