First commit (unstable and poorly commented).