abstract and some 3.3.2 edits
pre-merge