[0.5] Old base rewrite
This commit is only for backup purposes. The next commit will contain
completely new files copied from another repository. For specific
reasons, of which lazyness is a big member, a pull was not possible
so this way of rework is done. The other repository should be deleted
after this operation.