Refactor underway for version 2.