Rework on internals and tests added