Update Functions / required tools checks

Rename/cleanup functions/code
Change logic for checking if we have the required tools

This baby actually runs now!