used for learning