Working towards version 1.0.0. Tons of renaming and commenting.