Rewrote some parts of the source code.
Merge