How to show the pushforward is linear using equivalence classes of curves?

Let $M$ be a $C^k$ manifold of dimension $n$. I've constructed the tangent space at $a \in M$ as follows: first I've introduced the following equivalence relation in the set of maps $\gamma : (-\epsilon,\epsilon)\to M$ with $\gamma(0)=a$: we say $\gamma_1\sim \gamma_2$ if and only if $\gamma_1(a)=\gamma_2(a)$ and if for some chart $(x,U)$ around $a$ we have $(x\circ\gamma_1)'(0)=(x\circ\gamma_2)'(0)$. Then I've shown that this independs on the chart.

To make the set $T_a M$ of all equivalence classes a vector space, I've proceeded as follows: I've constructed $\psi : T_aM\to \mathbb{R}^n$ by $\psi([\gamma]) = (x\circ \gamma)'(0)$. It was easy to show that $\psi$ is a bijection, thus I've introduced the operations by:

$$[\gamma_1]+[\gamma_2]=\psi^{-1}(\psi([\gamma_1])+\psi([\gamma_2]))$$ $$k[\gamma_1] = \psi^{-1}(k\psi([\gamma_1])$$

This would turn $T_a M$ a vector space isomorphic to $\mathbb{R}^n$ by $\psi$. That's all fine, but the pushforward then is giving me trouble.

Suppose $f : M \to N$ is differentiable at $a$, then we want to build $f_{\ast a}: T_a M \to T_{f(a)}N$. The idea is easy, we set $f_{\ast a}([\gamma]) = [f\circ \gamma]$, but I must show $f_{\ast a}$ to be linear and I'm not seeing how. The reason is this:

$$f_{\ast a}([\gamma_1]+[\gamma_2]) = f_{\ast a}(\psi^{-1}(\psi([\gamma_1])+\psi([\gamma_2])))$$

Now what? There's this $\psi$ map and I don't know how to proceed. Showing the pushforward is linear using derivations was easy, but this seems a little more tricky.

Thanks very much in advance.

The vector space structures on $T_aM$ and $T_{f(a)}N$ are defined so that $\psi : T_aM\to \mathbb{R}^n$ and say $\phi : T_{f(a)}N\to \mathbb{R}^m$ are linear isomorphisms. It is thus enough to show that $\phi\circ f_{\ast a}\circ \psi^{-1}: \mathbb R^n\to\mathbb R^m$ is linear. By definition of the differentiability of $f$ the last map is linear, with matrix given by the partial derivatives of $y\circ f \circ x^{-1}$, where $x$ (resp. $y$) is a coordinate system in a neighborhood of $a$ (resp. $f(a)$).