refactored project source to behave as a library (to gain library benefits) and made default settings based on hooks, cleaned up a few more commands