Tools refactor part 2