first pass at 3.4, working state