merged Sentence from pei branch, more classes to follow