Responsive transport protocols e.g. TCP, back-off on packet loss. This is because packet loss is by default treated as a sign of congestion. However losses in a wireless network may not only arise from congestion but also because of the inherent characteristics of the wireless medium. If a TCP source assumes a wireless loss as a loss due to congestion and reduces its transmission rate, it fails to take advantage of the available capacity in the network thereby attaining less throughput than it would have achieved otherwise. This problem can be solved by making the TCP source intelligent so that, on detecting a packet loss, it will be able to distinguish what type of loss it is (a congestion loss or a wireless loss) and react accordingly - halve its transmission rate in the former case thereby helping to relieve congestion and maintain the status quo in the latter thereby helping to achieve better throughput at the same time remaining TCP friendly. This paper proposes a new algorithm called TCP E2E to achieve this. TCP E2E is a modified version of TCP Reno which operates entirely at the sender side, does not require support from any other node in the network and helps to achieve better throughput compared to TCP Reno under certain conditions as observed through a simulation based study carried out using the ns2 network simulator. Moreover, TCP E2E is TCP friendly thereby enabling coexistence with legacy transport protocols.