Big changes to Shirwa's code.
.gitignore update.