start init destroy methods
decorate init start destroy