bug fix caused by lazy eval