refactoring to tools only