forpart better interface, add docs, PP, tests