Add detail and tests.