You should define the tools, not the other way around.

In the order of solid → abstract tools