Reorganizing support classes so they can be used by the tool