added working code and experiment code