init: basic & each function