* Reworked the internals