visibility and final