private code for experiment and learning