refactor the lava flow for edgeCollector
splitting big methods into smaller ones
adding test for call on outer class (better CC)