This is the private version of