use member initializer list