default to shell provider, mkes examples simpler at the cost of some
magic