note that it bothers me a little that we have to create this function again each time... maybe we should create a closure after all. Your advice ?