diff --git a/ariaec/commands.pyc b/ariaec/commands.pyc
index de002b83a4237331cd994b29cc769d2b3f4105d2..647f0db75afb34138b40df2d57a19befcfc2c687 100644
Binary files a/ariaec/commands.pyc and b/ariaec/commands.pyc differ
diff --git a/ariaec/conf/aria_ec.ini b/ariaec/conf/aria_ec.ini
index ff714895ebc94f1861140b1716e537030592ed93..eeeefc4ea703968f9e8288f17128035b9e33d076 100644
--- a/ariaec/conf/aria_ec.ini
+++ b/ariaec/conf/aria_ec.ini
@@ -3,9 +3,10 @@
 ; Leave these fields empty in order to use default files
 ; ariaproject_template          : Since there is several differences between
 ;                                 aria version in template tags, this package
-;                                 can switch between 2 version actually: 2.3.0
-;                                 with ramachandran potential tag and 2.3.2 with
-;                                 exponent tag
+;                                 can switch between 2 version actually:
+;                                   - 2.3.0 with ramachandran potential tag
+;                                   - 2.3.2 with exponent tag
+;                                   - 2.3.3 with clustering tag
 ss_dist_file:
 scsc_min_file:
 ariaproject_template:                       2.3.0
@@ -164,6 +165,9 @@ netanch_high_residue_threshold:             4.0
 netanch_enabled:                            no
 netanch_min_residue_threshold:              1.0
 netanch_min_atom_threshold:                 0.25
+clustering_enabled:                         no
+clustering_mask:                            CA
+clustering_nclusters:                       2
 
 [contactmap]
 ; -------------------------- Contactmap parameters --------------------------- #
diff --git a/ariaec/econverter.py b/ariaec/econverter.py
index 793d687c8168296acef2c1c7674a59d89f8a6951..c1a74534a020ed2b04e9f93de46a309dd44bdc51 100644
--- a/ariaec/econverter.py
+++ b/ariaec/econverter.py
@@ -140,7 +140,7 @@ class AriaXMLConverter(Converter, object):
         segids = segids.split('/')
 
         segids = [string_to_segid(segid) for segid in segids]
-        # Recup molecule
+        # Fetch molecule
         chain_types = {}
         for s in segids:
             chain_types[s] = self._mol_set['type']
diff --git a/ariaec/protein.py b/ariaec/protein.py
index f8f2fae740f94867fbe375e2c5d1c092d8e18e3e..c04842fb65882fab753a383c806500d4fb6d5976 100644
--- a/ariaec/protein.py
+++ b/ariaec/protein.py
@@ -494,7 +494,6 @@ class Protein(object):
         # TODO: same as above, trouble with unicode calls inside capturing
         # with Capturing() as output:
         self.aa_sequence.WriteSeq(text_type(outfile))
-        # LOG.info(''.join(output))
         self.seqfile_path = outfile
 
 
diff --git a/ariaec/protein.pyc b/ariaec/protein.pyc
index 56addb1161992b03fb7d9eddf0b980bf5ffb66dd..20fbb45db61985b929f57da1c068db776d35773d 100644
Binary files a/ariaec/protein.pyc and b/ariaec/protein.pyc differ
diff --git a/ariaec/templates/aria_project_v2.3.3.xml b/ariaec/templates/aria_project_v2.3.3.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8fcd4637a48f917814101a787dd53dcf4ca3b532
--- /dev/null
+++ b/ariaec/templates/aria_project_v2.3.3.xml
@@ -0,0 +1,71 @@
+<!DOCTYPE project SYSTEM "project1.0.dtd">
+<project name="${project_name}" version="1.0" author="" date="${date}" description="" comment="" references="" working_directory="${working_directory}" temp_root="${temp_root}" run="${runid}" file_root="${file_root}" cache="yes" cleanup="yes">
+  <data>
+    <ccpn_model filename=""/>
+    <molecule file="${molecule_file}" format="xml" ccpn_id="">
+      <linkage_definition name="automatic" filename=""/>
+      <parameter_definition name="${parameter_definition}" filename=""/>
+      <topology_definition name="automatic" filename=""/>
+    </molecule>${unambiguous_distance_restraints} ${ambiguous_distance_restraints}
+    <hbonds file="${hbond_dist_file}" format="tbl" ccpn_id="" enabled="yes" data_type="standard"/>
+    <dihedrals file="${dihed_angle_file}" format="tbl" ccpn_id="" enabled="yes" data_type="standard"/>
+    <symmetry enabled="no" method="standard" n_monomers="1" symmetry_type="None" ncs_enabled="no" packing_enabled="no"/>
+    <initial_structure file="" format="iupac" ccpn_id="" enabled="no"/>
+  </data>
+  <structure_generation engine="cns">
+    <cns local_executable="${cns_executable}" keep_output="${cns_keep_output}" keep_restraint_files="yes" create_psf_file="yes" generate_template="yes" nonbonded_parameters="PROLSQ">
+      <annealing_parameters>
+        <unambiguous_restraints first_iteration="0" k_hot="10.0" k_cool1_initial="${unambiguous_restraints_k_cool1_initial}" k_cool1_final="${unambiguous_restraints_k_cool1_final}" k_cool2="${unambiguous_restraints_k_cool2}"/>
+        <ambiguous_restraints first_iteration="0" k_hot="10.0" k_cool1_initial="10.0" k_cool1_final="50.0" k_cool2="50.0"/>
+        <hbond_restraints first_iteration="0" k_hot="10.0" k_cool1_initial="${hbond_restraints_k_cool1_initial}" k_cool1_final="${hbond_restraints_k_cool1_final}" k_cool2="${hbond_restraints_k_cool2}"/>
+        <dihedral_restraints k_hot="5.0" k_cool1="${dihedral_restraints_k_cool1}" k_cool2="${dihedral_restraints_k_cool2}"/>
+        <karplus_restraints parameter_class="1" a="6.98" b="-1.38" c="1.72" d="-60.0" k_hot="0.0" k_cool1="0.2" k_cool2="1.0"/>
+        <karplus_restraints parameter_class="2" a="6.98" b="-1.38" c="1.72" d="-60.0" k_hot="0.0" k_cool1="0.2" k_cool2="1.0"/>
+        <karplus_restraints parameter_class="3" a="6.98" b="-1.38" c="1.72" d="-60.0" k_hot="0.0" k_cool1="0.2" k_cool2="1.0"/>
+        <karplus_restraints parameter_class="4" a="6.98" b="-1.38" c="1.72" d="-60.0" k_hot="0.0" k_cool1="0.2" k_cool2="1.0"/>
+        <karplus_restraints parameter_class="5" a="6.98" b="-1.38" c="1.72" d="-60.0" k_hot="0.0" k_cool1="0.2" k_cool2="1.0"/>
+        <rdc_restraints parameter_class="1" method="SANI" first_iteration="0" k_hot="0.0" k_cool1="0.2" k_cool2="1.0" r="0.4" d="8.0" border_hot_initial="0.1" border_hot_final="40.0" border_cool1_initial="40.0" border_cool1_final="40.0" border_cool2_initial="40.0" border_cool2_final="40.0" center_hot_initial="0.1" center_hot_final="0.1" center_cool1_initial="10.0" center_cool1_final="10.0" center_cool2_initial="10.0" center_cool2_final="10.0"/>
+        <rdc_restraints parameter_class="2" method="SANI" first_iteration="0" k_hot="0.0" k_cool1="0.2" k_cool2="1.0" r="0.4" d="8.0" border_hot_initial="0.1" border_hot_final="40.0" border_cool1_initial="40.0" border_cool1_final="40.0" border_cool2_initial="40.0" border_cool2_final="40.0" center_hot_initial="0.1" center_hot_final="0.1" center_cool1_initial="10.0" center_cool1_final="10.0" center_cool2_initial="10.0" center_cool2_final="10.0"/>
+        <rdc_restraints parameter_class="3" method="SANI" first_iteration="0" k_hot="0.0" k_cool1="0.2" k_cool2="1.0" r="0.4" d="8.0" border_hot_initial="0.1" border_hot_final="40.0" border_cool1_initial="40.0" border_cool1_final="40.0" border_cool2_initial="40.0" border_cool2_final="40.0" center_hot_initial="0.1" center_hot_final="0.1" center_cool1_initial="10.0" center_cool1_final="10.0" center_cool2_initial="10.0" center_cool2_final="10.0"/>
+        <rdc_restraints parameter_class="4" method="SANI" first_iteration="0" k_hot="0.0" k_cool1="0.2" k_cool2="1.0" r="0.4" d="8.0" border_hot_initial="0.1" border_hot_final="40.0" border_cool1_initial="40.0" border_cool1_final="40.0" border_cool2_initial="40.0" border_cool2_final="40.0" center_hot_initial="0.1" center_hot_final="0.1" center_cool1_initial="10.0" center_cool1_final="10.0" center_cool2_initial="10.0" center_cool2_final="10.0"/>
+        <rdc_restraints parameter_class="5" method="SANI" first_iteration="0" k_hot="0.0" k_cool1="0.2" k_cool2="1.0" r="0.4" d="8.0" border_hot_initial="0.1" border_hot_final="40.0" border_cool1_initial="40.0" border_cool1_final="40.0" border_cool2_initial="40.0" border_cool2_final="40.0" center_hot_initial="0.1" center_hot_final="0.1" center_cool1_initial="10.0" center_cool1_final="10.0" center_cool2_initial="10.0" center_cool2_final="10.0"/>
+        <flat_bottom_harmonic_wall m_rswitch_hot="0.5" m_rswitch_cool1="0.5" m_rswitch_cool2="0.5" rswitch_hot="0.5" rswitch_cool1="0.5" rswitch_cool2="0.5" m_asymptote_hot="-1.0" m_asymptote_cool1="-1.0" m_asymptote_cool2="-0.1" asymptote_hot="1.0" asymptote_cool1="1.0" asymptote_cool2="0.1"/>
+        <symmetry_restraints k_packing_hot="15.0" k_packing_cool1="10.0" k_packing_cool2="5.0" last_iteration_packing="8" k_ncs="50.0"/>
+        <logharmonic_potential enabled="${logharmonic_potential_enabled}" use_auto_weight="${logharmonic_potential_use_auto_weight}" weight_unambig="${logharmonic_potential_weight_unambig}" weight_ambig="${logharmonic_potential_weight_ambig}" weight_hbond="${logharmonic_potential_weight_hbond}"/>
+        <rama_potential enabled="${rama_potential_enabled}" weight_rama="1.0"/>
+        <hbdb_potential enabled="${hbdb_potential_enabled}"/>
+      </annealing_parameters>
+      <md_parameters dynamics="torsion" random_seed="${md_parameters_random_seed}" tad_temp_high="10000.0" tad_timestep_factor="9.0" cartesian_temp_high="2000.0" cartesian_first_iteration="0" timestep="0.003" temp_cool1_final="1000.0" temp_cool2_final="50.0" steps_high="${md_parameters_steps_high}" steps_refine="4000" steps_cool1="${md_parameters_steps_cool1}" steps_cool2="${md_parameters_steps_cool2}"/>
+    </cns>
+    <job_manager default_command="csh -f">
+      <host enabled="yes" command="${host_command}" executable="${host_executable}" n_cpu="${n_cpus}" use_absolute_path="yes"/>
+    </job_manager>
+  </structure_generation>
+  <protocol floating_assignment="yes">
+    % for iter in range(0, int(iterations + 1)):
+    <iteration number="${iter}" n_structures="${iteration_n_structures}" sort_criterion="${iteration_sort_criterion}" n_best_structures="${iteration_n_best_structures}" n_kept_structures="${iteration_n_kept_structures}">
+      <assignment/>
+      <merging method="${merging_method}"/>
+      <calibration relaxation_matrix="${calib_relaxation_matrix}" distance_cutoff="${calib_distance_cutoff}" estimator="${calib_estimator}" error_estimator="${calib_error_estimator}"/>
+      <violation_analysis violation_tolerance="${viol_violation_tolerance[iter]}" violation_threshold="${viol_violation_threshold}"  sigma_mode="${viol_sigma_mode}"/>
+      <partial_assignment weight_threshold="${partassign_weight_threshold[iter]}" max_contributions="${partassign_max_contributions}" exponent="${partassign_exponent}"/>
+      <network_anchoring high_residue_threshold="${netanch_high_residue_threshold}" enabled="${netanch_enabled}" min_residue_threshold="${netanch_min_residue_threshold}" min_atom_threshold="${netanch_min_atom_threshold}"/>
+      <clustering enabled="${clustering_enabled}" mask="${clustering_mask}" n_clusters="${clustering_nclusters}" />
+    </iteration>
+    % endfor
+    <water_refinement solvent="${water_refinement_solvent}" n_structures="${water_refinement_n_structures}" enabled="${water_refinement_enabled}" write_solvent_molecules="${water_refinement_write_solvent_molecules}"/>
+  </protocol>
+  <analysis>
+    <structures_analysis enabled="yes"/>
+    <procheck executable="${procheck_executable}" enabled="${procheck_enabled}"/>
+    <prosa executable="${prosa_executable}" enabled="${prosa_enabled}"/>
+    <whatif executable="${whatif_executable}" enabled="${whatif_enabled}"/>
+    <clashlist executable="${clashlist_executable}" enabled="${clahlist_enabled}"/>
+  </analysis>
+  <report>
+    <ccpn export_assignments="no" export_noe_restraint_list="no" export_structures="no"/>
+    <molmol enabled="yes"/>
+    <noe_restraint_list pickle_output="${pickle_output}" text_output="yes" xml_output="no"/>
+    <spectra write_assigned="no" write_assigned_force="no" iteration="last" write_unambiguous_only="yes"/>
+  </report>
+</project>
diff --git a/bin/ec2aria.py b/bin/ec2aria.py
index 72b3342be8a820983b52ec02b46927bf038678f6..969c517df262a3164daa649bee0413a4bb090676 100644
--- a/bin/ec2aria.py
+++ b/bin/ec2aria.py
@@ -18,6 +18,10 @@ LOG = logging.getLogger(__name__)
 
 
 def main():
+    """
+    Launch ariaec command interface
+    :return:
+    """
 
     mylog = CustomLogging(desc=__doc__)