fix lazy eval