improve 'init'