code for learning