Complete refactor...