Socio-cultural Perspective on Cognitive Development