now you can pass proc or lambda as collection