Merge changes from laganiere

Laganiere made even more progress, we need to import the changes