re-organized project functions and modules to include hyphen option