Initial checkin of Viterbi