diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a49dd9d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,31 @@
+**/.classpath
+.DS_Store
+**/nb-configuration.xml
+**/.springBeans
+**/testing.properties
+**/*.eml
+**/Scripts
+.idea
+*.iml
+.project
+.idea
+.metadata
+.DS_Store
+Servers
+.settings
+.classpath
+target
+mvn-repo
+bin
+*.war
+*.log
+*/nbactions.xml
+*.eml
+nbactions.xml
+testing.properties
+*/test-output
+JargonVersion.java
+**/${test.option.mount.basedir}
+**/*.*~
+*.*~
+.dbeaver*
diff --git a/eclipse-formatting.xml b/eclipse-formatting.xml
new file mode 100644
index 0000000..d2776ff
--- /dev/null
+++ b/eclipse-formatting.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/irodsext-data-profiler/.gitinclude b/irodsext-data-profiler/.gitinclude
new file mode 100644
index 0000000..e69de29
diff --git a/irodsext-data-profiler/pom.xml b/irodsext-data-profiler/pom.xml
new file mode 100644
index 0000000..917e601
--- /dev/null
+++ b/irodsext-data-profiler/pom.xml
@@ -0,0 +1,83 @@
+
+
+ 4.0.0
+
+ jargon-irods-ext
+ org.irods.jargon
+ 4.2.1.0-SNAPSHOT
+
+ org.irods.jargon
+ irodsext-data-profiler
+ irodsext-data-profiler
+
+
+ junit
+ junit
+ compile
+
+
+ org.irods.jargon
+ jargon-core
+ ${project.version}
+
+
+ Represents a high-level summary of a data object or collection, gathering metadata, ACL information, and other facets of a data object or collection, suitable for presentation in an interface. This includes awareness of applicable special metadata types as well as any rules or operations associated with a collection or file
+
+
+
+ maven-antrun-plugin
+
+
+ 0
+ validate
+
+
+
+
+
+ test.confirm=${jargon.test.confirm}
+ test.data.directory=${jargon.test.data.directory}
+ test.irods.admin=${jargon.test.irods.admin}
+ test.irods.admin.password=${jargon.test.irods.admin.password}
+ test.irods.user=${jargon.test.irods.user}
+ test.irods.password=${jargon.test.irods.password}
+ test.irods.resource=${jargon.test.irods.resource}
+ test2.irods.user=${jargon.test.irods.user2}
+ test2.irods.password=${jargon.test.irods.password2}
+ test2.irods.resource=${jargon.test.irods.resource2}
+ test3.irods.user=${jargon.test.irods.user3}
+ test3.irods.password=${jargon.test.irods.password3}
+ test3.irods.resource=${jargon.test.irods.resource3}
+ test.irods.host=${jargon.test.irods.host}
+ test.irods.port=${jargon.test.irods.port}
+ test.irods.zone=${jargon.test.irods.zone}
+ test.resource.group=${jargon.test.resource.group}
+ test.irods.userDN=${jargon.test.irods.userDN}
+ test.irods.scratch.subdir=${jargon.test.irods.scratch.subdir}
+ test.mac.icommand.path=${jargon.test.mac.icommand.path}
+ test.option.exercise.remoteexecstream=${jargon.test.option.exercise.remoteexecstream}
+
+
+
+
+ run
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 2.3.2
+
+ true
+
+
+
+
+
+
diff --git a/irodsext-data-profiler/src/main/java/.gitinclude b/irodsext-data-profiler/src/main/java/.gitinclude
new file mode 100644
index 0000000..e69de29
diff --git a/irodsext-data-profiler/src/main/resources/.gitinclude b/irodsext-data-profiler/src/main/resources/.gitinclude
new file mode 100644
index 0000000..e69de29
diff --git a/irodsext-data-profiler/src/test/java/.gitinclude b/irodsext-data-profiler/src/test/java/.gitinclude
new file mode 100644
index 0000000..e69de29
diff --git a/irodsext-data-profiler/src/test/resources/log4j.properties b/irodsext-data-profiler/src/test/resources/log4j.properties
new file mode 100644
index 0000000..eed7b65
--- /dev/null
+++ b/irodsext-data-profiler/src/test/resources/log4j.properties
@@ -0,0 +1,11 @@
+# Set root logger level to DEBUG and its only appender to A1.
+#log4j.rootLogger=ERROR, A1
+log4j.category.org.irods.jargon.core=INFO, A1
+log4j.category.org.irods.jargon.datautils=INFO, A1
+
+# A1 is set to be a ConsoleAppender.
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+
+# A1 uses PatternLayout.
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
diff --git a/irodsext-data-typer/.gitinclude b/irodsext-data-typer/.gitinclude
new file mode 100644
index 0000000..e69de29
diff --git a/irodsext-data-typer/pom.xml b/irodsext-data-typer/pom.xml
new file mode 100644
index 0000000..f32b79c
--- /dev/null
+++ b/irodsext-data-typer/pom.xml
@@ -0,0 +1,83 @@
+
+
+ 4.0.0
+
+ jargon-irods-ext
+ org.irods.jargon
+ 4.2.1.0-SNAPSHOT
+
+ org.irods.jargon
+ irodsext-data-typer
+ irodsext-data-typer
+
+
+ junit
+ junit
+ compile
+
+
+ org.irods.jargon
+ jargon-core
+ ${project.version}
+
+
+ Tools for managing data type/format recognition
+
+
+
+ maven-antrun-plugin
+
+
+ 0
+ validate
+
+
+
+
+
+ test.confirm=${jargon.test.confirm}
+ test.data.directory=${jargon.test.data.directory}
+ test.irods.admin=${jargon.test.irods.admin}
+ test.irods.admin.password=${jargon.test.irods.admin.password}
+ test.irods.user=${jargon.test.irods.user}
+ test.irods.password=${jargon.test.irods.password}
+ test.irods.resource=${jargon.test.irods.resource}
+ test2.irods.user=${jargon.test.irods.user2}
+ test2.irods.password=${jargon.test.irods.password2}
+ test2.irods.resource=${jargon.test.irods.resource2}
+ test3.irods.user=${jargon.test.irods.user3}
+ test3.irods.password=${jargon.test.irods.password3}
+ test3.irods.resource=${jargon.test.irods.resource3}
+ test.irods.host=${jargon.test.irods.host}
+ test.irods.port=${jargon.test.irods.port}
+ test.irods.zone=${jargon.test.irods.zone}
+ test.resource.group=${jargon.test.resource.group}
+ test.irods.userDN=${jargon.test.irods.userDN}
+ test.irods.scratch.subdir=${jargon.test.irods.scratch.subdir}
+ test.mac.icommand.path=${jargon.test.mac.icommand.path}
+ test.option.exercise.remoteexecstream=${jargon.test.option.exercise.remoteexecstream}
+
+
+
+
+ run
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 2.3.2
+
+ true
+
+
+
+
+
+
diff --git a/irodsext-data-typer/src/main/java/.gitinclude b/irodsext-data-typer/src/main/java/.gitinclude
new file mode 100644
index 0000000..e69de29
diff --git a/irodsext-data-typer/src/main/resources/.gitinclude b/irodsext-data-typer/src/main/resources/.gitinclude
new file mode 100644
index 0000000..e69de29
diff --git a/irodsext-data-typer/src/test/java/.gitinclude b/irodsext-data-typer/src/test/java/.gitinclude
new file mode 100644
index 0000000..e69de29
diff --git a/irodsext-data-typer/src/test/resources/log4j.properties b/irodsext-data-typer/src/test/resources/log4j.properties
new file mode 100644
index 0000000..eed7b65
--- /dev/null
+++ b/irodsext-data-typer/src/test/resources/log4j.properties
@@ -0,0 +1,11 @@
+# Set root logger level to DEBUG and its only appender to A1.
+#log4j.rootLogger=ERROR, A1
+log4j.category.org.irods.jargon.core=INFO, A1
+log4j.category.org.irods.jargon.datautils=INFO, A1
+
+# A1 is set to be a ConsoleAppender.
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+
+# A1 uses PatternLayout.
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
diff --git a/pom.xml b/pom.xml
index ff60921..a57b871 100644
--- a/pom.xml
+++ b/pom.xml
@@ -122,4 +122,8 @@
+
+ irodsext-data-profiler
+ irodsext-data-typer
+
diff --git a/target/jargon-irods-ext-4.2.1.0-SNAPSHOT.jar b/target/jargon-irods-ext-4.2.1.0-SNAPSHOT.jar
index dee2be3..d529165 100644
Binary files a/target/jargon-irods-ext-4.2.1.0-SNAPSHOT.jar and b/target/jargon-irods-ext-4.2.1.0-SNAPSHOT.jar differ