main module
failing to even get the overall structure right