First refactor to fix it.