Fixes #2
Fixes #3
Fixes #1

Right now only for surfaces. I could (and should) generalise this to
higher-dimensional varieties but this is the situation I am interested
in right now.