complete concern refactor