added initializer for required fields