interface implementation visibility