helper methods should be private