change some convention, use λ, more customizable