rework into a namespace