Implement half of #22, other half is doing this again for Private