* convert all the functionalities to functions for better maintenance. * test is the tool works and if there are issues.