rework iterable type searching