refactor, be stricter with cc args