possibly-dodgy xval implemented
including edge features....
why did i forget to commit for so long oh no