Cancer immunotherapy: recent advances and challenges