implemented geometry intersection, refactored, attached logger