Moved *intersect to its own helper, deobfuscated stuff, aligned some names to forge APIs. Has a bug - DO NOT MERGE

@fragmer, the clouds seem to disappear with this commit - can you see what is wrong? I can't figure this out...