added function visibility