New version-- doesn't require initialize method.