Added lazy arguments evaluation