refactor syntax. move _init() to bottom