refactored out some things that seemed they would be commong to infinitive stem translation into their own classes