handle errors better, can resume playing after being stopped