diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d92b102
--- /dev/null
+++ b/README.md
@@ -0,0 +1,44 @@
+## TCP socket pair for easy and efficient file transfer
+
+Single binary (~5.6 MB) containing both server and client. Originally made as an backend for [other project](https://github.com/einisto/leightbox).
+
+
+
+
+
+
+### Installation and usage
+
+Quickly run with:
+
+```shell
+cargo run --
+```
+
+or create and run an optimized, independent binary:
+
+```shell
+cargo build --release
+./target/release/fragilebyte
+```
+
+```shell
+USAGE:
+ fragilebyte [OPTIONS]
+
+OPTIONS:
+ -b, --buffersize Buffersize used in the file transfer (bytes) [default: 8192]
+ -f, --fileroot Path to the folder where the files are outputted as a client or
+ served from as a server [default: './output' / './data']
+ -h, --help Print help information
+ --localhost Run only in the local network
+ -p, --port Port where the service is hosted [default: 8080]
+ -t, --target Server's address when connecting as a client
+ --timeout Seconds of inactivity after which the server closes itself
+ [default: 30]
+ -V, --version Print version informatio
+```
+
+### Dependencies
+
+![DependenciesGraph](https://github.com/einisto/fragilebyte/blob/main/doc/structure.svg)
diff --git a/doc/structure.svg b/doc/structure.svg
new file mode 100644
index 0000000..8b8ce3c
--- /dev/null
+++ b/doc/structure.svg
@@ -0,0 +1,54 @@
+
+
+
+
+