diff --git a/README.md b/README.md
index 61cb59c..e68562a 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 
 This is a port of [Cat2Text](https://github.com/askiiart/Cat2Text) to Rust, with extra functionality, better documentation, and support for using it as a library as well.
 
-## Base4 Format
+## Base 4 Format
 
 Using the original base4 format, it works like this. First off, each word is equal to a value in base 4:
 
@@ -13,7 +13,29 @@ Using the original base4 format, it works like this. First off, each word is equ
 | 2     | mreow     |
 | 3     | mrow      |
 
-Then, the text is converted into lowercase
+Then, the text is converted into lowercase, 96 is subtracted from its ASCII value (i.e. "a" (97) -> 1), and it's converted to base 4, which is then replaced by the cat sounds above; Each cat sound is separated by a space (" "), then each word is delimited by a semicolon and a space ("; ").
+
+For example, "i love cats" is translated into:
+
+> meow mreow mrrp; meow mrow meow meow mrow mrow mrrp mrrp mreow meow mrrp mrrp; meow meow mrow meow meow mrrp mrrp mrrp meow mrrp meow mrow
+
+Separating out the letters and words:
+
+> [
+> ["meow mreow mrrp"],
+> [
+> "meow mrow meow",
+> "meow mrow mrow",
+> "mrrp mrrp mreow",
+> "meow mrrp mrrp"
+> ],
+> [
+> "meow meow mrow",
+> "meow meow mrrp",
+> "mrrp mrrp meow",
+> "mrrp meow mrow"
+> ]
+> ]
 
 ## Limitations
 
diff --git a/src/lib.rs b/src/lib.rs
index 9eb186e..739b0e4 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,5 +1,38 @@
 //! # Cat2Text-rs
 //!
 //! This is a port of [Cat2Text](https://github.com/askiiart/Cat2Text) to Rust, with extra functionality, better documentation, and support for using it as a library as well.
+//! This is a port of [Cat2Text](https://github.com/askiiart/Cat2Text) to Rust, with extra functionality, better documentation, and support for using it as a library as well.
+//!
+//! ## Base 4 Format
+//!
+//! Using the original base4 format, it works like this. First off, each word is equal to a value in base 4:
+//!
+//! | Value | Cat sound |
+//! | ----- | --------- |
+//! | 0     | meow      |
+//! | 1     | mrrp      |
+//! | 2     | mreow     |
+//! | 3     | mrow      |
+//!
+//! Then, the text is converted into lowercase, 96 is subtracted from its ASCII value (i.e. "a" (97) -> 1), and it's converted to base 4, which is then replaced by the cat sounds above; Each cat sound is separated by a space (" "), then each word is delimited by a semicolon and a space ("; ").
+//!
+//! For example, "i love cats" is translated into:
+//!
+//! > meow mreow mrrp; meow mrow meow meow mrow mrow mrrp mrrp mreow meow mrrp mrrp; meow meow mrow meow meow mrrp mrrp mrrp meow mrrp meow mrow
+//!
+//! Separating out the letters and words:
+//!
+//! > [ ["meow mreow mrrp"], [ "meow mrow meow", "meow mrow mrow", "mrrp mrrp mreow", "meow mrrp mrrp" ], [ "meow meow mrow", "meow meow mrrp", "mrrp mrrp meow", "mrrp meow mrow" ] ]
+//! 
+//!  ## Limitations
+//!
+//! This currently only supports lowercase text in the latin alphabet without numbers or anything - however, using `cat2text::core`, you can convert anything to meows, as long as you can put it in integers - which, you can.
+//!
+//! ## TODO
+//!
+//! - Add functionality for converting `Vec<u8>` to cat.
+//! - Add more bases - adaptable base option?
+
+pub mod anybase;
 pub mod base4;
 pub mod core;