added auto init