moved initializers to constructor