basic is for the trunk method of generating components, custom is for the max way (uses port_impl files)