diff --git a/README.md b/README.md
index d57ecf8bf51bb80224103b34158520ccf95473c5..ce37a47487f91b8f52f632d20ceb40522a6cfd7f 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,16 @@
 
     mvn test
     
+
+## test integration (manual invocation)
+
+for person vplit scenario:
+ 
+    mvn -Dtest=PersonVSplitScenarioTI test
+
+for sakila scenario (it requires postgres db access and configuration):
+
+    mvn -Dtest=SakilaScenarioTI test
     
 ## edit
 
diff --git a/src/main/kotlin/unibz.cs.semint.kprime/scenario/PersonVSplitScenario.kt b/src/main/kotlin/unibz.cs.semint.kprime/scenario/PersonVSplitScenario.kt
index 58eab26d73ebf5e7f769fa816c128ff967e59901..4a330a02f7209105d0504cc526c76f50346fc68e 100644
--- a/src/main/kotlin/unibz.cs.semint.kprime/scenario/PersonVSplitScenario.kt
+++ b/src/main/kotlin/unibz.cs.semint.kprime/scenario/PersonVSplitScenario.kt
@@ -18,9 +18,9 @@ class PersonVSplitScenario {
         personTable.name= "person"
         val colSSN = Column("SSN", "id.SSN", "dbname.SSN")
         personTable.columns.add(colSSN)
-        val colT = Column("T", "id.SSN", "dbname.SSN")
+        val colT = Column("T", "id.T", "dbname.T")
         personTable.columns.add(colT)
-        val colS = Column("S", "id.SSN", "dbname.SSN")
+        val colS = Column("S", "id.S", "dbname.S")
         personTable.columns.add(colS)
         db.schema.tables.add(personTable)
         val primaryConstraint = Constraint()
@@ -52,6 +52,29 @@ class PersonVSplitScenario {
     }
 
     private fun apply(personMetadata: Database, detected: UseCaseResult<Database>): UseCaseResult<Database>{
+        // pure person
+        val table = Table()
+        table.name= "pure_person"
+        personMetadata.schema.tables.add(table)
+        val colSSN = Column("SSN", "id.SSN", "dbname.SSN")
+        table.columns.add(colSSN)
+
+        // person with only telephone
+        val tableWithT = Table()
+        tableWithT.name= "person_with_T"
+        personMetadata.schema.tables.add(tableWithT)
+        val colT = Column("T", "id.T", "dbname.T")
+        tableWithT.columns.add(colSSN)
+        tableWithT.columns.add(colT)
+
+        // person with only telephone
+        val tableWithS = Table()
+        tableWithS.name= "person_with_S"
+        personMetadata.schema.tables.add(tableWithS)
+        val colS = Column("S", "id.S", "dbname.S")
+        tableWithS.columns.add(colSSN)
+        tableWithS.columns.add(colS)
+
         return UseCaseResult("done apply", personMetadata)
     }
 }
\ No newline at end of file
diff --git a/src/test/kotlin/unibz.cs.semint.kprime/scenario/SakilaScenarioTI.kt b/src/test/kotlin/unibz.cs.semint.kprime/scenario/SakilaScenarioTI.kt
new file mode 100644
index 0000000000000000000000000000000000000000..e8181a7a5930e4c672470d8326a40b69be4948bd
--- /dev/null
+++ b/src/test/kotlin/unibz.cs.semint.kprime/scenario/SakilaScenarioTI.kt
@@ -0,0 +1,16 @@
+package unibz.cs.semint.kprime.scenario
+
+import org.junit.Test
+
+class SakilaScenarioTI {
+
+    @Test
+    fun test_sakila_scenario() {
+        // given
+        val sakilaScenario = SakilaScenario()
+        // when
+        sakilaScenario.run()
+        // then
+        // prints manipulated sakila database
+    }
+}
\ No newline at end of file