functions that should not be visible outside their own namespace changed to private