Improve functionality and reliability of Args
Update CMakeLists.txt
Update Device to use the new Args API
Update tools folder