refactored, updated and tested whole module
Merge pull request #1 from MauriceButler/updates-maintenance

refactored, updated and tested whole module