base play/pause functional