for training and tutorial purpose