diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoWriteFuture.java b/sshd-common/src/main/java/org/apache/sshd/common/io/AbstractIoWriteFuture.java
similarity index 100%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoWriteFuture.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/AbstractIoWriteFuture.java
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoAcceptor.java b/sshd-common/src/main/java/org/apache/sshd/common/io/IoAcceptor.java
similarity index 100%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/IoAcceptor.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/IoAcceptor.java
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoConnectFuture.java b/sshd-common/src/main/java/org/apache/sshd/common/io/IoConnectFuture.java
similarity index 100%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/IoConnectFuture.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/IoConnectFuture.java
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoConnector.java b/sshd-common/src/main/java/org/apache/sshd/common/io/IoConnector.java
similarity index 92%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/IoConnector.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/IoConnector.java
index 193a209..e62ea77 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/IoConnector.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/io/IoConnector.java
@@ -34,5 +34,6 @@
      * automatic ephemeral port and bind address is used
      * @return The {@link IoConnectFuture future} representing the connection request
      */
-    IoConnectFuture connect(SocketAddress targetAddress, AttributeRepository context, SocketAddress localAddress);
+    IoConnectFuture connect(
+        SocketAddress targetAddress, AttributeRepository context, SocketAddress localAddress);
 }
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoHandler.java b/sshd-common/src/main/java/org/apache/sshd/common/io/IoHandler.java
similarity index 99%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/IoHandler.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/IoHandler.java
index 81253eb..42abfe5 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/IoHandler.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/io/IoHandler.java
@@ -31,5 +31,4 @@
     void exceptionCaught(IoSession session, Throwable cause) throws Exception;
 
     void messageReceived(IoSession session, Readable message) throws Exception;
-
 }
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoHandlerFactory.java b/sshd-common/src/main/java/org/apache/sshd/common/io/IoHandlerFactory.java
similarity index 100%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/IoHandlerFactory.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/IoHandlerFactory.java
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoInputStream.java b/sshd-common/src/main/java/org/apache/sshd/common/io/IoInputStream.java
similarity index 99%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/IoInputStream.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/IoInputStream.java
index 6bb23a7..fcb5c42 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/IoInputStream.java
+++ b/sshd-common/src/main/java/org/apache/sshd/common/io/IoInputStream.java
@@ -22,7 +22,6 @@
 import org.apache.sshd.common.util.buffer.Buffer;
 
 public interface IoInputStream extends Closeable {
-
     /**
      * NOTE: the buffer must not be touched until the returned read future is completed.
      *
@@ -30,5 +29,4 @@
      * @return The {@link IoReadFuture} for the operation
      */
     IoReadFuture read(Buffer buffer);
-
 }
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoOutputStream.java b/sshd-common/src/main/java/org/apache/sshd/common/io/IoOutputStream.java
similarity index 100%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/IoOutputStream.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/IoOutputStream.java
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoReadFuture.java b/sshd-common/src/main/java/org/apache/sshd/common/io/IoReadFuture.java
similarity index 100%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/IoReadFuture.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/IoReadFuture.java
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoService.java b/sshd-common/src/main/java/org/apache/sshd/common/io/IoService.java
similarity index 100%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/IoService.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/IoService.java
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoServiceEventListener.java b/sshd-common/src/main/java/org/apache/sshd/common/io/IoServiceEventListener.java
similarity index 100%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/IoServiceEventListener.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/IoServiceEventListener.java
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoServiceEventListenerManager.java b/sshd-common/src/main/java/org/apache/sshd/common/io/IoServiceEventListenerManager.java
similarity index 100%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/IoServiceEventListenerManager.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/IoServiceEventListenerManager.java
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoServiceFactory.java b/sshd-common/src/main/java/org/apache/sshd/common/io/IoServiceFactory.java
similarity index 100%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/IoServiceFactory.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/IoServiceFactory.java
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoSession.java b/sshd-common/src/main/java/org/apache/sshd/common/io/IoSession.java
similarity index 100%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/IoSession.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/IoSession.java
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/IoWriteFuture.java b/sshd-common/src/main/java/org/apache/sshd/common/io/IoWriteFuture.java
similarity index 100%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/IoWriteFuture.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/IoWriteFuture.java
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/PacketWriter.java b/sshd-common/src/main/java/org/apache/sshd/common/io/PacketWriter.java
similarity index 100%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/PacketWriter.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/PacketWriter.java
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/ReadPendingException.java b/sshd-common/src/main/java/org/apache/sshd/common/io/ReadPendingException.java
similarity index 100%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/ReadPendingException.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/ReadPendingException.java
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/WritePendingException.java b/sshd-common/src/main/java/org/apache/sshd/common/io/WritePendingException.java
similarity index 100%
rename from sshd-core/src/main/java/org/apache/sshd/common/io/WritePendingException.java
rename to sshd-common/src/main/java/org/apache/sshd/common/io/WritePendingException.java
