df -> nactive to avoid conflict with DataFrames