Merge Warpten's fork into main