init & constructor
init & constructor