move level of visibility to prog struct