Refactoring some of this, it's pointless to make sure the function is a function since we'll pooling from a set list.