Refactor v3