simplify input builder, remove predicates’ dependency on class name