Add dynamic attribute generation