michael's refactor