cannot use cl-find-if, reiplement :(
fix free variable