As a special class of array codes, $(n,\ k,\ m)$ piggy-backing codes are $n\times m$ MDS array codes with each node storing $m$ symbols that can achieve low repair bandwidth for single-node failure. The existing piggybacking codes design piggyback functions for either data node repair or parity node repair. In this paper, we propose new piggybacking codes by jointly designing piggyback functions for both data node repair and parity node repair that have lower repair bandwidth than the related existing piggybacking codes. In our piggybacking codes, the sub-packetization $m$ satisfies that $2\leq m\leq n-k$. When $m=n-k$, we derive a lower bound of repair bandwidth for our piggybacking codes, and prove that this lower bound is lower than the corresponding lower bounds of the existing piggybacking codes for $5 < n-k\ll k$. When $m < n-k$, we show that our piggybacking codes have lower repair bandwidth than the existing piggybacking codes for all the evaluated high-code-rate parameters with $10 < n-k < 20, k=100$ and $m\leq 5$.