BAck at it with a refactor