made closure, and configurable