add play/pause controls, fix obscure bugs with player