revise capability check