check in the latest code for learning