gen user fields last. Pass whole doc to gen methods