diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..dacfcbf
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>dev.fr13</groupId>
+    <artifactId>xml2xsd</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>7</source>
+                    <target>7</target>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+    <dependencies>
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+            <version>1.3.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.xmlbeans</groupId>
+            <artifactId>xmlbeans</artifactId>
+            <version>3.0.2</version>
+        </dependency>
+    </dependencies>
+
+
+</project>
\ No newline at end of file
diff --git a/src/dev/fr13/XsdSchema.java b/src/dev/fr13/XsdSchema.java
deleted file mode 100644
index 7a06e7d..0000000
--- a/src/dev/fr13/XsdSchema.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package dev.fr13;
-
-import org.apache.commons.cli.*;
-import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlObject;
-import org.apache.xmlbeans.impl.inst2xsd.Inst2Xsd;
-import org.apache.xmlbeans.impl.inst2xsd.Inst2XsdOptions;
-import org.apache.xmlbeans.impl.xb.xsdschema.SchemaDocument;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
-public class XsdSchema {
-
-    private final File SOURCE_FILE;
-    private final File OUTPUT_FILE;
-    private final String NAME_SPACE;
-    private final int SCHEMA_DESIGN;
-
-    public static void main(String[] args) throws IOException, XmlException {
-
-        XsdSchema xsdSchema = new XsdSchema(args);
-        xsdSchema.checkSourceFile();
-
-        XmlObject xmlObject = XmlObject.Factory.parse(xsdSchema.SOURCE_FILE);
-        SchemaDocument schema = xsdSchema.getSchema(xmlObject);
-        if (schema != null)
-            schema.save(xsdSchema.OUTPUT_FILE);
-
-    }
-
-    private SchemaDocument getSchema(XmlObject xmlObject) {
-
-        Inst2XsdOptions inst2XsdOptions = new Inst2XsdOptions();
-        inst2XsdOptions.setDesign(SCHEMA_DESIGN);
-
-        XmlObject [] xmlObjects = new XmlObject[1];
-        xmlObjects[0] = xmlObject;
-
-        SchemaDocument [] schemaDocuments = Inst2Xsd.inst2xsd(xmlObjects, inst2XsdOptions);
-        if (schemaDocuments != null && schemaDocuments.length > 0) {
-            schemaDocuments[0].getSchema().setTargetNamespace(NAME_SPACE);
-            return schemaDocuments[0];
-        }
-        return null;
-    }
-
-    private XsdSchema(String[] args) {
-
-        Options options = new Options();
-
-        Option inputOption = new Option("i", "input", true, "input xml file path");
-        inputOption.setRequired(true);
-        options.addOption(inputOption);
-
-        Option outputOption = new Option("o", "output", true, "output xsd file path");
-        options.addOption(outputOption);
-
-        Option nameSpaceOption = new Option("n", "name-space", true, "target name space");
-        options.addOption(nameSpaceOption);
-
-        Option schemaOption = new Option("s", "schema-design", true,
-                "schema design: 1-Russian Doll, 2-Salami slice, 3-Venetian blind");
-        options.addOption(schemaOption);
-
-        CommandLineParser commandLineParser = new DefaultParser();
-        HelpFormatter helpFormatter = new HelpFormatter();
-        CommandLine cmd = null;
-
-        try {
-            cmd = commandLineParser.parse(options, args);
-        } catch (ParseException e) {
-            System.out.println(e.getMessage());
-            helpFormatter.printHelp("This tool creates xsd file from xml.", options);
-            System.exit(1);
-        }
-
-        SOURCE_FILE = new File(cmd.getOptionValue("input"));
-
-        String outputFile = cmd.getOptionValue("output");
-        if (outputFile == null) {
-            this.OUTPUT_FILE = new File(SOURCE_FILE.getParent() + File.separatorChar + "schema.xsd");
-        } else {
-            this.OUTPUT_FILE = new File(outputFile);
-        }
-
-        String ns = cmd.getOptionValue("name-space");
-        NAME_SPACE = ns != null ? ns : "http://v8.default.com";
-
-        String schema = cmd.getOptionValue("schema-design");
-        if (schema == null) {
-            this.SCHEMA_DESIGN = 3;
-        }
-        else {
-            switch (schema) {
-                case "1":
-                    this.SCHEMA_DESIGN = Inst2XsdOptions.DESIGN_RUSSIAN_DOLL;
-                    break;
-                case "2":
-                    this.SCHEMA_DESIGN = Inst2XsdOptions.DESIGN_SALAMI_SLICE;
-                    break;
-                case "3":
-                    this.SCHEMA_DESIGN = Inst2XsdOptions.DESIGN_VENETIAN_BLIND;
-                    break;
-                default:
-                    throw new IllegalArgumentException("Unknown value for design type.");
-            }
-        }
-    }
-
-    private void checkSourceFile() throws FileNotFoundException {
-
-        Path path = Paths.get(SOURCE_FILE.toURI());
-        if (Files.notExists(path)) {
-            throw new FileNotFoundException("no such file " + SOURCE_FILE.getPath());
-        }
-
-    }
-}