play back function improved