Add some new implementations and tests.