make a very basic plugin framework instead of the common mess