Understanding the dynamics of technological transitions: a co-evolutionary and socio-technical analysis