add passing implementations