function buy( address recipient ) payable returns(uint){
        require( ! haltSale );

        
        sendETHToMultiSig( msg.value );
        uint receivedTokens = msg.value.mul( 1000 );

        assert( token.transfer( recipient, receivedTokens ) );


        Buy( recipient, receivedTokens, msg.value );

        return msg.value;
    }