Prove that a metric space is sequentially compact iff every infinite subset has a cluster point

Prove that a metric space $(X,d)$ is sequentially compact iff every infinite subset has a cluster point.

"$\implies$"

Assume there is some infinite subset $S$ that has no cluster points in $X$, that is for every $s\in S$ there is some open ball $B(s,\epsilon_s)$ that contains only finitely many points from $X$. Since $S$ is infinite, we can choose some infinite sequence of points $(s_n)$ from it, but it can't contain any convergent subsequence, contradiction.

"$\impliedby$"

Assume that every sequence in $X$ has a convergent subsequence. Then also every sequence from an infinite subset $S$ of $X$ has a convergent subsequence. Thus it has a cluster point, i.e. limit of that subsequence.

Could someone check this "proof"?

Suppose that $X$ is sequentially compact, and let $S$ be an infinite subset of $X$. Then we may choose a sequence $\sigma=\langle x_n:n\in\Bbb N\rangle$ of distinct points of $S$. Let $\tau=\langle x_{n_k}:k\in\Bbb N\rangle$ be a subsequence of $\sigma$ converging to $x\in X$. Then every nbhd of $x$ contains infinitely many terms of $\tau$ and hence infinitely many distinct points of $S$, so $x$ is a cluster point of $S$.