Functional version complete. In testing.