A rough implementation is now available, needs testing.