This is for learning purposes only. You do not have the right to post this as your own, or make any changes whatsoever if it is to be distributed. Remember I didn't have to do this.