Release version 2.3.0

* Added some tests, and discovered some bugs along the way
* Fixed those afformentioned bugs 🎉
* Some codebase rework, needed to add the afformentioned tests