force needed constructor args without allow null