more strict private methods pattern to fix compatibility with other gems