changed to public initializer