refactor in preparation for adding module & include handling