contract WhiteListedContracts is Ownable {
  mapping (address => bool ) white_listed_contracts;

  //modifer to check if the contract given is white listed or not
  modifier whitelistedContractsOnly() {
    require(white_listed_contracts[msg.sender]);
    _;
  }

  //add a contract to whitelist
  function addWhiteListedContracts (address _address) onlyOwner public {
    white_listed_contracts[_address] = true;
  }

  //remove contract from whitelist
  function removeWhiteListedContracts (address _address) onlyOwner public {
    white_listed_contracts[_address] = false;
  }
}
/* Contract class for adding removing whitelisted contracts */
function removeWhiteListedContracts (address _address) onlyOwner public {
  white_listed_contracts[_address] = false;
}

//remove contract from whitelist