Adding submodules
Adding the libs that use it
Adding the rest, tested and with a readme to go.