Refactoring still in progress.