revise Visible in .Internal implementation