Updates and refactor.