Version 2.0, totally rebuilt.