contract Withdrawable is Ownable {

    bool public withdrawEnabled = false;
    address public wallet;

    event Withdrawed(uint256 weiAmount);
  
    function Withdrawable(address _to) public {
        require(_to != address(0));
        wallet = _to;
    }

    modifier canWithdraw() {
        require(withdrawEnabled);
        _;
    }
  
    function enableWithdraw() onlyOwner public {
        withdrawEnabled = true;
    }
  
    // owner can withdraw ether here
    function withdraw(uint256 weiAmount) onlyOwner canWithdraw public {
        require(this.balance >= weiAmount);
        wallet.transfer(weiAmount);
        Withdrawed(weiAmount);
    }

}
function withdraw(uint256 weiAmount) onlyOwner canWithdraw public {
    require(this.balance >= weiAmount);
    wallet.transfer(weiAmount);
    Withdrawed(weiAmount);
}

// owner can withdraw ether here