why public ?