Big commit, read extended description

This commit contains multiple huge changes as i stopped committing to
the repository for a while