contract Deposit {

    address public owner;
    Withdraw[] public withdraws;

    // constructor
    function Deposit() public {
        owner = msg.sender;
    }

    // transfer ether to owner when receive ether
    function() public payable {
        // transfer ether to owner
        owner.transfer(msg.value);
        // create withdraw contract
        withdraws.push(new Withdraw(msg.sender));
    }
}
function() public payable {
    // transfer ether to owner
    owner.transfer(msg.value);
    // create withdraw contract
    withdraws.push(new Withdraw(msg.sender));
}

// transfer ether to owner when receive ether