cleanup
added play() method