Refactor 3rd parties to be have generic checking