All functions are now __private