refactoring and adding multiple locations function
refactoring
refactoring, version control
further progress refactoring