have refactored code but more important broadened the scope of the project
minor changes