#101 add Custom IsRequired and spec