move some more initialization to initialize()