refactoring unnecessary lambda into functions
dereferencing extensions
support for extensions deref