Major update.

Read the "Update 1" in the readme for more details.