little modify for lambda and define