make private methods actually private and make it clear what the public api is from looking at the source