Updated to use provide/require consistently