finished implementation, cleaned up methods: play, pause, clear