separate include extraction from module compilation
reduce is no longer process, but just a thread
extract graph creation from main