Changed constructor generation strategy