building the initial structure
finalized a number of basic plugin hooks