See other branch for documentation.