moved things into private namespace