Q + refactor