diff --git a/trunk/paradiseo-peo/tutorial/Lesson1/lesson.param b/trunk/paradiseo-peo/tutorial/Lesson1/lesson.param
deleted file mode 100644
index 5f7a15258..000000000
--- a/trunk/paradiseo-peo/tutorial/Lesson1/lesson.param
+++ /dev/null
@@ -1,11 +0,0 @@
-## miscallenous parameters
-
---debug=false
-
-## deployment schema
-
---schema=../schema.xml
-
-## parameters
-
---inst=../../examples/tsp/benchs/eil101.tsp
\ No newline at end of file
diff --git a/trunk/paradiseo-peo/tutorial/Lesson2/schema.xml b/trunk/paradiseo-peo/tutorial/Lesson2/schema.xml
deleted file mode 100644
index 3edea1488..000000000
--- a/trunk/paradiseo-peo/tutorial/Lesson2/schema.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
diff --git a/trunk/paradiseo-peo/tutorial/Lesson3/CMakeLists.txt b/trunk/paradiseo-peo/tutorial/Lesson3/CMakeLists.txt
new file mode 100644
index 000000000..cb20d63cf
--- /dev/null
+++ b/trunk/paradiseo-peo/tutorial/Lesson3/CMakeLists.txt
@@ -0,0 +1,16 @@
+
+######################################################################################
+### 0) Need lesson1 directory
+######################################################################################
+
+SET(TUTORIAL_LESSON3_DIR ${CMAKE_CURRENT_SOURCE_DIR})
+
+######################################################################################
+
+######################################################################################
+### 1) Where must cmake go now ?
+######################################################################################
+
+SUBDIRS(src)
+
+######################################################################################
diff --git a/trunk/paradiseo-peo/tutorial/Lesson2/lesson.param b/trunk/paradiseo-peo/tutorial/Lesson3/build/lesson.param
similarity index 84%
rename from trunk/paradiseo-peo/tutorial/Lesson2/lesson.param
rename to trunk/paradiseo-peo/tutorial/Lesson3/build/lesson.param
index f8fc07057..04952c91b 100644
--- a/trunk/paradiseo-peo/tutorial/Lesson2/lesson.param
+++ b/trunk/paradiseo-peo/tutorial/Lesson3/build/lesson.param
@@ -4,7 +4,7 @@
## deployment schema
---schema=../schema.xml
+--schema=schema.xml
## parameters
diff --git a/trunk/paradiseo-peo/tutorial/Lesson1/schema.xml b/trunk/paradiseo-peo/tutorial/Lesson3/build/schema.xml
similarity index 93%
rename from trunk/paradiseo-peo/tutorial/Lesson1/schema.xml
rename to trunk/paradiseo-peo/tutorial/Lesson3/build/schema.xml
index 3edea1488..9b8bf316c 100644
--- a/trunk/paradiseo-peo/tutorial/Lesson1/schema.xml
+++ b/trunk/paradiseo-peo/tutorial/Lesson3/build/schema.xml
@@ -7,6 +7,7 @@
1
+ 2
diff --git a/trunk/paradiseo-peo/tutorial/Lesson3/src/CMakeLists.txt b/trunk/paradiseo-peo/tutorial/Lesson3/src/CMakeLists.txt
new file mode 100644
index 000000000..7c3aec8cd
--- /dev/null
+++ b/trunk/paradiseo-peo/tutorial/Lesson3/src/CMakeLists.txt
@@ -0,0 +1,75 @@
+
+######################################################################################
+### 0) Set the compiler
+######################################################################################
+
+SET (CMAKE_CXX_COMPILER mpicxx)
+
+######################################################################################
+
+
+######################################################################################
+### 1) Include the sources
+######################################################################################
+
+INCLUDE_DIRECTORIES(${EO_SRC_DIR})
+INCLUDE_DIRECTORIES(${MO_SRC_DIR})
+INCLUDE_DIRECTORIES(${PEO_SRC_DIR})
+INCLUDE_DIRECTORIES(${TSP_EXAMPLE_DIR}/src)
+
+######################################################################################
+
+
+######################################################################################
+### 2) Specify where CMake can find the libraries (mandatory: before 3) )
+######################################################################################
+
+LINK_DIRECTORIES( ${EO_SRC_DIR}
+ ${EO_SRC_DIR}/utils
+ ${PEO_DIR}/build
+ ${TSP_EXAMPLE_DIR}/build)
+
+######################################################################################
+
+
+######################################################################################
+### 3) Define your target(s): just an executable here
+######################################################################################
+
+# no matter what is the OS, hopefully
+ADD_EXECUTABLE(tspExample main.cpp)
+
+ADD_DEPENDENCIES(tspExample tsp)
+ADD_DEPENDENCIES(tspExample peo)
+ADD_DEPENDENCIES(tspExample rmc_mpi)
+
+SET(EXECUTABLE_OUTPUT_PATH ${TUTORIAL_LESSON3_DIR}/build)
+######################################################################################
+
+
+######################################################################################
+### 4) Optionnal: define your target(s)'s version: no effect for windows
+######################################################################################
+
+SET(LESSON3_VERSION "1.0.beta")
+SET_TARGET_PROPERTIES(tspExample PROPERTIES VERSION "${LESSON3_VERSION}")
+######################################################################################
+
+
+######################################################################################
+### 5) Link the librairies
+######################################################################################
+
+TARGET_LINK_LIBRARIES(tspExample ${XML2_LIBS}) # define in CMakeLists.txt at PEO root dir
+TARGET_LINK_LIBRARIES(tspExample tsp)
+TARGET_LINK_LIBRARIES(tspExample peo)
+TARGET_LINK_LIBRARIES(tspExample rmc_mpi)
+TARGET_LINK_LIBRARIES(tspExample eo)
+TARGET_LINK_LIBRARIES(tspExample eoutils)
+
+######################################################################################
+
+
+
+
+
diff --git a/trunk/paradiseo-peo/tutorial/Lesson3/src/main.cpp b/trunk/paradiseo-peo/tutorial/Lesson3/src/main.cpp
new file mode 100644
index 000000000..559d83f80
--- /dev/null
+++ b/trunk/paradiseo-peo/tutorial/Lesson3/src/main.cpp
@@ -0,0 +1,160 @@
+// "main.cpp"
+
+// (c) OPAC Team, LIFL, January 2006
+
+/*
+ Contact: paradiseo-help@lists.gforge.inria.fr
+*/
+
+#include "route.h"
+#include "route_init.h"
+#include "route_eval.h"
+
+#include "order_xover.h"
+#include "city_swap.h"
+
+#include "param.h"
+
+
+#include
+
+
+#define POP_SIZE 10
+#define NUM_GEN 100
+#define CROSS_RATE 1.0
+#define MUT_RATE 0.01
+
+#define MIG_FREQ 10
+#define MIG_SIZE 5
+
+
+int main( int __argc, char** __argv ) {
+
+ // initializing the ParadisEO-PEO environment
+ peo :: init( __argc, __argv );
+
+
+ // processing the command line specified parameters
+ loadParameters( __argc, __argv );
+
+
+ // init, eval operators, EA operators -------------------------------------------------------------------------------------------------------------
+
+ RouteInit route_init; // random init object - creates random Route objects
+ RouteEval full_eval; // evaluator object - offers a fitness value for a specified Route object
+
+ OrderXover crossover; // crossover operator - creates two offsprings out of two specified parents
+ CitySwap mutation; // mutation operator - randomly mutates one gene for a specified individual
+ // ------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+ // evolutionary algorithm components --------------------------------------------------------------------------------------------------------------
+
+ eoPop< Route > population( POP_SIZE, route_init ); // initial population for the algorithm having POP_SIZE individuals
+ peoParaPopEval< Route > eaPopEval( full_eval ); // evaluator object - to be applied at each iteration on the entire population
+
+ eoGenContinue< Route > eaCont( NUM_GEN ); // continuation criterion - the algorithm will iterate for NUM_GEN generations
+ eoCheckPoint< Route > eaCheckpointContinue( eaCont ); // checkpoint object - verify at each iteration if the continuation criterion is met
+
+ eoRankingSelect< Route > selectionStrategy; // selection strategy - applied at each iteration for selecting parent individuals
+ eoSelectNumber< Route > eaSelect( selectionStrategy, POP_SIZE ); // selection object - POP_SIZE individuals are selected at each iteration
+
+ // transform operator - includes the crossover and the mutation operators with a specified associated rate
+ eoSGATransform< Route > transform( crossover, CROSS_RATE, mutation, MUT_RATE );
+ peoSeqTransform< Route > eaTransform( transform ); // ParadisEO transform operator (please remark the peo prefix) - wraps an e EO transform object
+
+ eoPlusReplacement< Route > eaReplace; // replacement strategy - for replacing the initial population with offspring individuals
+ // ------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+
+ RingTopology topology;
+
+ // migration policy and components ----------------------------------------------------------------------------------------------------------------
+
+ eoPeriodicContinue< Route > mig_cont( MIG_FREQ ); // migration occurs periodically
+
+ eoRandomSelect< Route > mig_select_one; // emigrants are randomly selected
+ eoSelectNumber< Route > mig_select( mig_select_one, MIG_SIZE );
+
+ eoPlusReplacement< Route > mig_replace; // immigrants replace the worse individuals
+
+ peoSyncIslandMig< Route > mig( MIG_FREQ, mig_select, mig_replace, topology, population, population );
+ //peoAsyncIslandMig< Route > mig( mig_cont, mig_select, mig_replace, topology, population, population );
+
+ eaCheckpointContinue.add( mig );
+ // ------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+
+
+
+ // ParadisEO-PEO evolutionary algorithm -----------------------------------------------------------------------------------------------------------
+
+ peoEA< Route > eaAlg( eaCheckpointContinue, eaPopEval, eaSelect, eaTransform, eaReplace );
+
+ mig.setOwner( eaAlg );
+
+ eaAlg( population ); // specifying the initial population for the algorithm, to be iteratively evolved
+ // ------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+
+
+ // evolutionary algorithm components --------------------------------------------------------------------------------------------------------------
+
+ eoPop< Route > population2( POP_SIZE, route_init ); // initial population for the algorithm having POP_SIZE individuals
+ peoParaPopEval< Route > eaPopEval2( full_eval ); // evaluator object - to be applied at each iteration on the entire population
+
+ eoGenContinue< Route > eaCont2( NUM_GEN ); // continuation criterion - the algorithm will iterate for NUM_GEN generations
+ eoCheckPoint< Route > eaCheckpointContinue2( eaCont2 ); // checkpoint object - verify at each iteration if the continuation criterion is met
+
+ eoRankingSelect< Route > selectionStrategy2; // selection strategy - applied at each iteration for selecting parent individuals
+ eoSelectNumber< Route > eaSelect2( selectionStrategy2, POP_SIZE ); // selection object - POP_SIZE individuals are selected at each iteration
+
+ // transform operator - includes the crossover and the mutation operators with a specified associated rate
+ eoSGATransform< Route > transform2( crossover, CROSS_RATE, mutation, MUT_RATE );
+ peoSeqTransform< Route > eaTransform2( transform2 ); // ParadisEO transform operator (please remark the peo prefix) - wraps an e EO transform object
+
+ eoPlusReplacement< Route > eaReplace2; // replacement strategy - for replacing the initial population with offspring individuals
+ // ------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+
+
+ // migration policy and components ----------------------------------------------------------------------------------------------------------------
+
+ eoPeriodicContinue< Route > mig_cont2( MIG_FREQ ); // migration occurs periodically
+
+ eoRandomSelect< Route > mig_select_one2; // emigrants are randomly selected
+ eoSelectNumber< Route > mig_select2( mig_select_one2, MIG_SIZE );
+
+ eoPlusReplacement< Route > mig_replace2; // immigrants replace the worse individuals
+
+ peoSyncIslandMig< Route > mig2( MIG_FREQ, mig_select2, mig_replace2, topology, population2, population2 );
+ //peoAsyncIslandMig< Route > mig2( mig_cont2, mig_select2, mig_replace2, topology, population2, population2 );
+
+ eaCheckpointContinue2.add( mig2 );
+ // ------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+
+
+
+ // ParadisEO-PEO evolutionary algorithm -----------------------------------------------------------------------------------------------------------
+
+ peoEA< Route > eaAlg2( eaCheckpointContinue2, eaPopEval2, eaSelect2, eaTransform2, eaReplace2 );
+
+ mig2.setOwner( eaAlg2 );
+
+ eaAlg2( population2 ); // specifying the initial population for the algorithm, to be iteratively evolved
+ // ------------------------------------------------------------------------------------------------------------------------------------------------
+
+
+
+ peo :: run( );
+ peo :: finalize( );
+ // shutting down the ParadisEO-PEO environment
+
+ return 0;
+}
diff --git a/trunk/paradiseo-peo/tutorial/Lesson3/src/paradiseo-peo-lsn.doxyfile b/trunk/paradiseo-peo/tutorial/Lesson3/src/paradiseo-peo-lsn.doxyfile
new file mode 100644
index 000000000..2fe39e4c8
--- /dev/null
+++ b/trunk/paradiseo-peo/tutorial/Lesson3/src/paradiseo-peo-lsn.doxyfile
@@ -0,0 +1,241 @@
+# Doxyfile 1.4.7
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+PROJECT_NAME = "ParadisEO-PEO Lesson2"
+PROJECT_NUMBER = 0.1
+OUTPUT_DIRECTORY = ../../docs/html/lesson2
+CREATE_SUBDIRS = NO
+OUTPUT_LANGUAGE = English
+USE_WINDOWS_ENCODING = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ABBREVIATE_BRIEF = "The $name class" \
+ "The $name widget" \
+ "The $name file" \
+ is \
+ provides \
+ specifies \
+ contains \
+ represents \
+ a \
+ an \
+ the
+ALWAYS_DETAILED_SEC = NO
+INLINE_INHERITED_MEMB = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = YES
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP = NO
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 8
+ALIASES =
+OPTIMIZE_OUTPUT_FOR_C = NO
+OPTIMIZE_OUTPUT_JAVA = NO
+BUILTIN_STL_SUPPORT = NO
+DISTRIBUTE_GROUP_DOC = NO
+SUBGROUPING = YES
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL = NO
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+EXTRACT_LOCAL_CLASSES = YES
+EXTRACT_LOCAL_METHODS = NO
+HIDE_UNDOC_MEMBERS = YES
+HIDE_UNDOC_CLASSES = YES
+HIDE_FRIEND_COMPOUNDS = NO
+HIDE_IN_BODY_DOCS = NO
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = NO
+SORT_BRIEF_DOCS = NO
+SORT_BY_SCOPE_NAME = NO
+GENERATE_TODOLIST = YES
+GENERATE_TESTLIST = YES
+GENERATE_BUGLIST = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = YES
+SHOW_DIRECTORIES = NO
+FILE_VERSION_FILTER =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = YES
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_FORMAT = "$file:$line: $text"
+WARN_LOGFILE =
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT = .
+FILE_PATTERNS = *.cpp \
+ *.h \
+ NEWS \
+ README
+RECURSIVE = YES
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS = *
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH = ../../docs/images
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = YES
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION = YES
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS = NO
+VERBATIM_HEADERS = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = YES
+COLS_IN_ALPHA_INDEX = 3
+IGNORE_PREFIX = peo
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = YES
+HTML_OUTPUT = html
+HTML_FILE_EXTENSION = .html
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+CHM_FILE =
+HHC_LOCATION =
+GENERATE_CHI = NO
+BINARY_TOC = NO
+TOC_EXPAND = NO
+DISABLE_INDEX = NO
+ENUM_VALUES_PER_LINE = 4
+GENERATE_TREEVIEW = YES
+TREEVIEW_WIDTH = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = YES
+LATEX_OUTPUT = latex
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = YES
+USE_PDFLATEX = YES
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN = YES
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_LINKS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML = NO
+XML_OUTPUT = xml
+XML_SCHEMA =
+XML_DTD =
+XML_PROGRAMLISTING = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = NO
+EXPAND_ONLY_PREDEF = NO
+SEARCH_INCLUDES = YES
+INCLUDE_PATH =
+INCLUDE_FILE_PATTERNS =
+PREDEFINED =
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES = ../../../paradiseo-mo/docs/eo.doxytag=../../../../../paradiseo-mo/docs/html \
+ ../../../paradiseo-mo/docs/mo.doxytag=../../../../../paradiseo-mo/docs/html \
+ ../../docs/paradiseo-peo.doxytag=../../ \
+ ../shared/paradiseo-peo-lsn-shared.doxytag=../../lsnshared/html
+GENERATE_TAGFILE = ../../docs/paradiseo-peo-lsn.doxytag
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+PERL_PATH = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = YES
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = NO
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+GROUP_GRAPHS = YES
+UML_LOOK = NO
+TEMPLATE_RELATIONS = NO
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+CALL_GRAPH = NO
+CALLER_GRAPH = NO
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = YES
+DOT_IMAGE_FORMAT = png
+DOT_PATH =
+DOTFILE_DIRS =
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+MAX_DOT_GRAPH_DEPTH = 0
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE = YES