beget now takes parent object; random tweaks