put datetime now in a method to avoid lazy evaluation