lazy initialization bug fix