negotiate schema seems to work!

needs tests etc, but it seems to work