Reorganisation and cleanup.
Update requirements.