Added list of specific differences between this and jberkel's original.