move all private helper instance methods into a private module to avoid namespace clashes