We compare two methods for proving lower bounds on standard two-party model of communication complexity, the Rank method and Fooling set method. We present bounds on the number of functions $f(x,y)$, $x,y\in\{0,1\}^n$, with rank of size $k$ and fooling set of size at least k, $k\in [1,2^n]$. Using these bounds we give a novel proof that almost all Boolean functions $f$ are hard, i.e., the communication complexity of $f$ is greater than or equal to $n$, using the field $\mathbb{Z}_2$.