further elaborated lambda abstraction functions