DEV: Initial work and tests.