avoid manual assignment