Ryan Barnett sign new contract until 2021