Feature/allow custom required