Updated dynamic component generation v2