func: function _setVestingSchedule(
          address vestingLocation,
          uint32 cliffDuration, uint32 duration, uint32 interval,
          bool isRevocable) internal returns (bool ok) {
  
          
          require(
              duration > 0 && duration <= TEN_YEARS_DAYS
              && cliffDuration < duration
              && interval >= 1,
              "invalid vesting schedule"
          );
  
          
          require(
              duration % interval == 0 && cliffDuration % interval == 0,
              "invalid cliff/duration for interval"
          );
  
          
          _vestingSchedules[vestingLocation] = vestingSchedule(
              true,
              isRevocable,
              cliffDuration, duration, interval
          );
  
          
          emit VestingScheduleCreated(
              vestingLocation,
              cliffDuration, duration, interval,
              isRevocable);
          return true;
      }