return false if patch cannot be applied