reduce code size with init()