added extra assertion not to go backwards
changed naming of examples to be consistent
added += operator support. Thanks to @Midnighter