initial private tools refactoring