Added Strategy Pattern.
Cleaned up .gitignore
Merge from github origin.