Cleanup:  internal functions are now static (i.e. only locally available)