Refactor v2