constructor takes collection argument with optional config arg