partial work towards a more general boilerplate ***GOING TO REBASE ON PACKAGING***