dynamic constructor arguments isnt simple