naming, encapsulate type in closure