Finished the first version.