fix lazy init bug