Some more coding.

Too lazy to list all changes and breakings.