Refactor and simplify again